Author Topic: Функция прокрутки и поиска слова  (Read 4389 times)

0 Members and 1 Guest are viewing this topic.

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Функция прокрутки и поиска слова
« on: September 09, 2018, 08:46:46 AM »
Приветик! ;) Помогите пожалуйста разобраться с простеньким сценарием для кликермана, а именно нужно: вот он кликает, кликает, далее скролит вниз и смещает курсор на 40 пикселей вверх (вот тут я так понимаю нужна функция, которая увеличивает значение скрола на 1 единицу при каждом последующем цикле), опять продолжает кликать, потом проверят страницу на наличие определенной фразы, если эта фраза есть, то он начинает цикл заново, если нету, то продолжает кликать.
Извините за нубские вопросы, просто никогда раньше не сталкивалась с кликерами, прочитала справку внутри программы и мало что из нее поняла.
Code: [Select]
LCLICK(1599,597)
WAIT(1)
LCLICK(1093,980)
WAIT(1)
LCLICK(1493,980)
WAIT(1)
LCLICK(1472,751)
//вот тут нужна функция скроллинга, с увеличением на 1 при каждом цикле и смещение курсора мышки на 40пх вверх
WAIT(1)
LCLICK(1178,203)
WAIT(1)
LCLICK(1178,203)
WAIT(1)
LCLICK(1173,986)
WAIT(1)
//вот тут он должен проверить страницу на наличие фразы, если фраза есть - возвращается к началу цикла, если нету, то продолжает до конца кликать
WAIT(1)
LCLICK(1592,956)
WAIT(3)
LCLICK(1658,905)
WAIT(2)
LCLICK(1058,105)

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #1 on: September 09, 2018, 10:05:23 AM »
Давай начнем с малого, а потом уже будем налаживать.

Code: (clickermann) [Select]
LCLICK(1599,597)
WAIT(1)
LCLICK(1093,980)
WAIT(1)
LCLICK(1493,980)
WAIT(1)
LCLICK(1472,751)

inc($mult)  //увеличиваем множитель прокрутки
WHEELDOWN ($mult)  //крутим колесо

MOVE ($_xmouse, $_ymouse-40) //смещаем курсор вверх на 40 пикс


WAIT(1)
LCLICK(1178,203)
WAIT(1)
LCLICK(1178,203)
WAIT(1)
LCLICK(1173,986)
WAIT(1)

//проверка на наличие фразы

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#f)
KEYUP (#CTRL)
wait(1)
KEYSTRING ("наша искомая фраза")
wait(1)
GETSCREEN      //
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 65535) //в место 65535 пишем цвет подсветки найденной фразы. зависит от браузера, область поиска также ставим нужную
   waitms(500)
   //фраза есть, возврат в начало
else
   //если фразы нет, кликаем до конца
   WAIT(1)
   LCLICK(1592,956)
   WAIT(3)
   LCLICK(1658,905)
   WAIT(2)
   LCLICK(1058,105)
   WAIT(1)
   
   //  а дальше что? все, конец? тогда пишем halt. если нужно обнулить мношитель прокрутки колеса, то $mult = 0
END_IF

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #2 on: September 09, 2018, 07:40:40 PM »
dramster
Спасибо за помощь!  :)
К сожалению немного не то, что хотела:
Множитель скроллинга inc($mult)  WHEELDOWN ($mult) не работает как нужно, после окончания цикла, он прокручивает на то же значение, а нужно чтобы увеличивался.
Я решила нарисовать схематически, как это примерно выглядит: справа синим скролл, он должен двигаться вниз, а блоки 1,2,3  и тд. должны прощелкиваться кликером, после каждого цикла. Я думала сделать это с помощью смещения курсора относительно значения скролла.
Рисунок вырезан из контекста сценария, тут имеется в виду только часть с
Quote
inc($mult)  //увеличиваем множитель прокрутки
WHEELDOWN ($mult)  //крутим колесо
MOVE ($_xmouse, $_ymouse-100) //смещаем курсор вверх на 40 пикс

По поводу поиска слова тоже немного не то, просто ctrl+f тут не работает. Скажите, можно ли это сделать с помощью поиска по картинке? Я просто вырежу нужную фразу через принт-скрин и кликер будет по ней искать.
Заранее благодарю!
« Last Edit: September 09, 2018, 07:49:52 PM by Кристина »

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #3 on: September 10, 2018, 10:24:40 AM »
dramster
Поэкспирементировала я немного и оказалось, что ваш сценарий в обычном браузере работает как нужно! Все делает четко.
А вот моем случае, речь идет о приложении на эмуляторе андроида, предпологаю там как-то цикл сбивается и он не хочет корректно работать.
В любом случае спасибо!  ;) Буду искать кликер чисто под эмулятор андроида.

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #4 on: September 10, 2018, 11:05:44 AM »
Хмм.. пришла в голову идея сделать это через зажатие и отпускание ползунка скролла, со смещение по вертикали на 5пх вниз, попробвала вот так и не получилось:
Code: [Select]
inc($mult)
LDOWN(1625,155)
WAIT(1)
LUP (1625,$_ymouse-5)
WAIT(1)
Подскажите пожалуйста где ошибка
« Last Edit: September 10, 2018, 11:16:40 AM by Кристина »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #5 on: September 10, 2018, 01:20:21 PM »
А если так

Code: (clickermann) [Select]
MOVE(1625,155)
WAITMS(50)
LDOWN(1625,155)
WAITMS(5)
MOVER(0,2)
WAITMS(5)
MOVER(0,2)
WAITMS(5)
MOVER(0,1)
WAITMS(5)
LUP ($_xmouse,$_ymouse)
WAIT(1)

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #6 on: September 10, 2018, 02:37:08 PM »
Oraven
Благодарю!  ;)
Ваш сценарий не совсем как нужно сработал, но я методом тыка повыставляла задержки больше и коэфициент $mult наугад и сработало! Не совсем идеально работает, иногда больше прокручивает, иногда меньше, но уже как минимум прокручивает скролл вниз, а не стоит на том же месте. Продолжу подбирать нужные значения...
Code: [Select]
LCLICK(1588,604)  // 5529095
WAIT(1)
MOVE(1623,153)
WAIT(1)
LDOWN(1623,153)
WAIT(1)
inc($mult)
MOVER(0,$mult)
WAIT(1)
MOVER(0,$mult)
WAIT(1)
MOVER(0,$mult)
WAIT(1)
LUP (0,$mult)
WAIT(1)
LCLICK(1126,90)  // 12238492
WAIT(1)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #7 on: September 10, 2018, 04:22:39 PM »
LUP (0,$mult) - ты отпускаешь левую кнопку где то в координате 0,1

пиши
Code: (clickermann) [Select]
LUP ($_xmouse,$_ymouse) // Отпустить кнопку в текущей координате.
Функция inc($mult) без параметра, увеличивает значение переменой $mult на 1

MOVER перемещает курсор относительно текущего положения
MOVER(0,10) - по координате X положение не меняется по координате Y опускаем курсор на 10 пикселов





Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #8 on: September 10, 2018, 04:57:26 PM »
Oraven
Спасибо за объяснение, понемногу начинаю понимать что к чему! :)
А может вы мне еще подскажите по поводу поиска фразы, dramster написал вот такой код:
Code: [Select]
//проверка на наличие фразы
 KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#f)
KEYUP (#CTRL)
wait(1)
KEYSTRING ("наша искомая фраза")
wait(1)
GETSCREEN      //
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 65535) //в место 65535 пишем цвет подсветки найденной фразы. зависит от браузера, область поиска также ставим нужную
   waitms(500)
   //фраза есть, возврат в начало
else
   //если фразы нет, кликаем до конца
но в моем случае поиск по фразе через ctrl+f не работает, подскажите как это можно реализовать с помощью поиска по картинке(вырезанной фразе скриншота)? и можно ли вообще?
« Last Edit: September 10, 2018, 05:03:05 PM by Кристина »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #9 on: September 10, 2018, 06:50:17 PM »
Поиск картинки осуществляется функцией IF_PICTURE_IN

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

Картинка должна быть маленькая, вернее в ней должно быть мало пикселов. Ориентироваться нужно на 50х50
При поиске слова достаточно вырезать широкую картинку, серидину слова, по высоте 2-3 пиксела.
В $_return1, $_return2 возвращаются координата верхнего левого угла картинки. Чтобы кликнуть в другую точку относительно, нужно написать смещение
 LCLICK($_return1+10, $_return2+2) // Клик правее на 10 пикселов и ниже на 2

Кристина

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функция прокрутки и поиска слова
« Reply #10 on: September 10, 2018, 09:53:32 PM »
Oraven спасибо вам огромное! :-* Получилось то что нужно!  ;)