Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Liudmila on January 27, 2018, 06:46:27 PM
-
Добрый день! Очень нуждаюсь в помощи. Предположительно, дело в картинке и цвете пикселя, ибо скрипты взяла из шаблонов и тем на форуме.
Нужно
1. Ждать всплывающее уведомление в браузере, нажать на нём,
2. После загрузки, нажать на кнопку.
Первое уведомление появляется всегда в одном и том же месте, есть точные координаты для клика.
У второй кнопки всегда одинаковые значения x и $_xmax, ”гуляет” только высота.
Что сделала я-
1. Вырезала и сохранила пока что только вторую картинку. Применила colormode (6), пересохранила и в самом скрипте тоже добавила colormode (6). Предстал случай и задала более чем точные координаты. Кнопку не нажимает.
GETSCREEN // ??????
COLORMODE(6) // ??????????????
IF_PICTURE_IN(465,535,618,474, "29-1.bmp", -1, 80)
LCLICK($_return1, $_return2)
WAIT(1)
Предоставляю картинки до COLORMODE(6) (28-1) и после (29-1).
2. Попробовала IF_PIXEL_IN. Пробовала по очереди почти все цвета которые нашла и на первой и на второй картинки. Кнопка и ныне там.
GETSCREEN
IF_PIXEL_IN (580,375, 664,401, "13091443")
LCLICK($_return1, $_return2)
WAIT(1)
Нашла прямо кучу цветов, научите пожалуйста, какой из них нужно использовать. Картинка переливается всеми цветами радуги.
3. Т.к. это браузер, попробовала искать по тексту, думаю это оптимальный вариант. Но кнопка и ныне там.
WAIT(1)
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // удаляем предыдущий поиск
WAITMS(50)
KEYSTRING("SUBMIT", 20) // Вводим текст для поиска
WAITMS(500)
GETSCREEN
IF_PIXEL_IN(584,441, 663,466, 12443355) // ищем цвет выделения
LCLICK($_return1+2, $_return2+2) // кликаем по найденному
WAITMS(100)
END_IF
halt // стоп
Ткните пожалуйста, что не так.
-
Вопросы по картинке- сначала сохранила (растянула) в размере 50X50.
потом сохранила совсем малютку (вырезала квадрат из расчёта ширины)
и другой вариант, оставила так как во вложении.
Какой вариант применить?
На данный момент ищу инфу про заливку, изменение фона картинки, правильно иду?
-
Что то в цветокоррекции какая то картинка размазанная словно её в JPG сохраняли.
Кликер не умеет читать, он всего лишь ищет набор пикселов на экране.
И поэтому достаточно вот такой картинки
-
В винде применяется сглаживание шрифтов которое каждый раз смазывает тексты немного по другому. Можно попробовать выключить это сглаживание.
Или используй процент совпадения меньше.
У тебя и так там фон ровный, зачем его игнорировать?
-
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE (6)
IF_PICTURE_IN (1017,590,1082,614, "1.bmp", -1, 90)
LCLICK(1057,595)
WAIT(2)
$check = 1
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE (6)
IF_PICTURE_IN (466,475,884,480, "2.bmp", -1, 90)
$check = 1
MOVE($_return1, $_return2)
WAITMS(300)
LCLICK($_return1, $_return2)
WAITMS(500)
ELSE
Если пойти по первому пути (искать картинку), думаю в конечном итоге должен выглядеть так? Сомневаюсь на счёт MOVE($_return1, $_return2), нужен ли.
И всё таки полагаю, самый быстрый способ - искать текст.
-
Вот здесь неверный синтаксис.
IF_PIXEL_IN (580,375, 664,401, "13091443")
Там не может быть никаких кавычек.
-
Вот здесь неверный синтаксис.
IF_PIXEL_IN (580,375, 664,401, "13091443")
Там не может быть никаких кавычек.
Спасибо, это я тут почему то добавила кавычки, на самом деле искала без них.
Скажите пожалуйста, цвет-пиксель нужно искать в Пэинте? Читала на форуме, что нужно искать пипеткой, да?
-
Вот здесь неверный синтаксис.
IF_PIXEL_IN (580,375, 664,401, "13091443")
Там не может быть никаких кавычек.
Спасибо, это я тут почему то добавила кавычки, на самом деле искала без них.
Скажите пожалуйста, цвет-пиксель нужно искать в Пэинте? Читала на форуме, что нужно искать пипеткой, да?
Кликер в редакторе показывает нужный тебе цвет под курсором.
Можно нажать ALT+Q это вставит в скрипт клик с закомментированным цветом. Удобно собирать таким образом цвета, клики конечно потом удаляются.
На счет поиска на скриншоте, это делается в том случаи если цвета меняются из за наведения курсора, или просто их трудно поймарь в реальном времени.
-
Кликер в редакторе показывает нужный тебе цвет под курсором.
На счет поиска на скриншоте, это делается в том случаи если цвета меняются из за наведения курсора, или просто их трудно поймарь в реальном времени.
[/quote]
Да, картинка меняет цвет при наведении курсора.
На картинке сохранённой Вами нашлись 2 цвета 16777087, 16777151 - вписать оба?
Подскажите ещё, при поиске пикселя, можно ли изменить масштаб страницы? Картинка с пикселем была сохранена при 100% масштабе, а искать при допустим 50%? Это чтобы не крутить мышь down.
-
Да, картинка меняет цвет при наведении курсора.
На картинке сохранённой Вами нашлись 2 цвета 16777087, 16777151 - вписать оба?
Белый цвет он там кругом, а синий фон есть где то еще кроме этого слова?.
Поэтому думаю лучше искать картинку функцией IF_PICTURE_IN.
Подскажите ещё, при поиске пикселя, можно ли изменить масштаб страницы? Картинка с пикселем была сохранена при 100% масштабе, а искать при допустим 50%? Это чтобы не крутить мышь down.
Нет конечно! Растяжение приведет к эффекту сглаживания.
В каком масштабе ищешь в таком и должна быть сделана картинка поиска.
Ну и в конце концов почему бы и не покрутить?
$time = $_time_t + 20 // таймер на 20 секунд
WHILE($time > $_time_t) // ищем картинку не болкее 20 секунд
GETSCREEN
COLORMODE (6)
IF_PICTURE_IN (0,0,1082,614, "1.bmp", -1, 90)
$time = 0
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
ELSE
WHEELDOWN // если не найдено крутим страницу вниз
WAITMS(500)
END_IF
END_CYC
-
[/quote]
Белый цвет он там кругом, а синий фон есть где то еще кроме этого слова?.
Поэтому думаю лучше искать картинку функцией IF_PICTURE_IN.
[/quote]
[/quote]
Синий есть и в других местах, в процентном соотношении, моя кнопка 50% от остального синего.
-
Нет ли такой возможности кликнуть клавишами на найденный через ctrl F фрагмент текста? В обычном режиме нахожу ctrl F и кликаю ctrl ENTER. Можно ли заставить кликер это сделать?
-
Подскажите пожалуйста, можно ли применить этот скрипт к моей 1 части задачи?
GETSCREEN
IF(PXL(1216,601) ! 15724527)
LCLICK(1216,601)
END_IF
На данный момент, цвет при координате - 15724527
Когда всплывёт уведомление=изменится цвет, ЛКМ.
Но! тогда ЛКМ произойдет сразу же при появлении другого цвета, как только начнёт всплывать,
а мне нужно ЛКМ только после того как уведомление всплыло полностью,
можно как то осуществить? или ставить на обум задержку в 1 сек. допустим переж ЛКМ?
-
Если требуется ожидание изменения то это надо поместить в цикл.
GETSCREEN
WHILE(PXL(1216,601) = 15724527) // цикл работает если цвет по координате 1216,601 соответствует 15724527
WAITMS(100)
GETSCREEN
END_CYC
WAIT(1) // Время на всплытие
LCLICK(1216,601) // Кликаем
WAITMS(100)
-
Нет ли такой возможности кликнуть клавишами на найденный через ctrl F фрагмент текста? В обычном режиме нахожу ctrl F и кликаю ctrl ENTER. Можно ли заставить кликер это сделать?
А как кликер узнает что текст найден? Все равно нужен анализ пикселов.
-
Господа кликерманы, возможно ли ввести текст по координате в адресную строку браузера? Хотя, координаты могут изменится.
Если да, чем? Кейстрингом? :-\
Думаю 1. Ждать изменение пикселя- ЛКМ, 2. после загрузки страницы ввести дополнительный текст в адресную строку, 3. нажать комбинацию клавиш.
К сожалению, не могу добиться не нахождение картинки, не пикселя. Выключила другие вкладки, перезагружала, скачала и заставляю работать в Maxthon, не хочет.
-
В Chrome, чтобы активировать ввод в адресную строку, достаточно нажать Ctrl + L.
В Maxthon наверняка есть подобное сочетание клавиш!
А адрес лучше вставлять через Клипбоард. Так как кейстрингом, для того, чтобы ввести "двоеточие" нужно зажать "шифт".
-
В Chrome, чтобы активировать ввод в адресную строку, достаточно нажать Ctrl + L.
В Maxthon наверняка есть подобное сочетание клавиш!
А адрес лучше вставлять через Клипбоард. Так как кейстрингом, для того, чтобы ввести "двоеточие" нужно зажать "шифт".
Спасибо!
Оказалось, сохранив другую картинку, даже без COLORMODE, прекрасно находится и кликает на неё! Проверяла по отдельности эти 2 скрипта- работают. В связи с этим прошу помощи в соединении их во едино.
GETSCREEN
WHILE(PXL(1109,598) = 15658734)
WAITMS(100)
GETSCREEN
END_CYC
WAIT(2)
LCLICK(1109,598)
WAITMS(100)
GETSCREEN
IF_PICTURE_IN (397,368,700,670, "DA.bmp", -1, 90)
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
ELSE
WHEELDOWN // ???? ?? ??????? ?????? ???????? ????
WAITMS(500)
END_IF
END_CYC
HALT
Необходимо ли в самом начале скрипта добавить
$check = 0
WHILE($check = 0)
WHEELDOWN прокрутит страницу до конца или крутит пока не находит картинку?
может ещё какие замечания?
-
Не в самом начале а там где нужно!
Верный скрипт
GETSCREEN
WHILE(PXL(1109,598) = 15658734)
WAITMS(100)
GETSCREEN
END_CYC
WAIT(2)
LCLICK(1109,598)
WAITMS(100)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (397,368,700,670, "DA.bmp", -1, 90)
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
ELSE
WHEELDOWN
WAITMS(500)
END_IF
END_CYC
HALT
WHEELDOWN прокрутит страницу до конца или крутит пока не находит картинку?
В цикле ищем картинку, если не находим прокручиваем немного вниз и снова ищем.
-
Не в самом начале а там где нужно!
Верный скрипт
Спасибо! Но, куда передвинуть HALT?, ибо кликает по последним координатам без остановки?
-
В одном из "тел" цикла нужно поменять значение ключа $check с = 0 на = 1 в зависимости от необходимости.
В общем нужно добавить условие выхода из цикла while. Или дальше прокрутить страницу.
-
Не в самом начале а там где нужно!
Верный скрипт
Спасибо! Но, куда передвинуть HALT?, ибо ищет картинку+ ЛКМ срабатывает без остановки?
Так понимаю, после прокрутки полного цикла, меняется пиксель по первым координатам (загрузилась новая страница) и он срабатывает снова, вместо того, чтобы ждать реальной и нужной мне смены пикселя. Добавить в скрипт рефреш на исходную страницу?
-
В одном из "тел" цикла нужно поменять значение ключа $check с = 0 на = 1 в зависимости от необходимости.
В общем нужно добавить условие выхода из цикла while. Или дальше прокрутить страницу.
а просто вернутся на исходную, путём добавления одного LCLICK?
-
Конечно же нужно написать выход из цикла.
GETSCREEN
WHILE(PXL(1109,598) = 15658734)
WAITMS(100)
GETSCREEN
END_CYC
WAIT(2)
LCLICK(1109,598)
WAITMS(100)
$check = 0 // Присваиваем значение 0 переменной $check
WHILE($check = 0) // цикл работает если $check равна 0
GETSCREEN
IF_PICTURE_IN (397,368,700,670, "DA.bmp", -1, 90)
$check = 1 // Меняем значение и цикл перестанет повторяться
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
ELSE
WHEELDOWN
WAITMS(500)
END_IF
END_CYC
HALT
-
Хочу выразить свою благодарность создателям форума, мальчикам, которые помогли составить скрипты, а главное, мальчику, который в письме подбодрил и посоветовал написать тут. Ещё совсем недавно, я была уверена в том что- Где я, а где скрипт.
С Вашей помощью всё получилось!
Спасибо!!!
:-*