Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SimplY on June 18, 2019, 07:10:15 AM
-
Добрый день! В кликере я чайник. Буду рад, если поможете:)
1) В общем, есть одна кнопка на сайте, которая не всегда есть. Если она есть, то кликер нажимает на нее и затем делает действие в сплывающем окне (начинает сценарий с кнопкой) Затем продолжает сценарий. Если такой кнопки нет, то кликер пропускает действие в окне и сразу продолжает сценарий. Можно ли такое сделать?
Заранее огромное спасибо:)
WAIT(1) //предыдущий сценарий
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(150)
END_IF
WAITMS(400)
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "почта.bmp")
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300) //следующий сценарий
2) То же самое и с этим скриптом. Если находит скрин на сайте, то кликает средней кнопкой мыши. Всё. Если нет, то просто пропускает его.
GETSCREEN(76,273,111,975) //Сайт
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "сайт.bmp")
MCLICK($_return1+38, $_return2+8)
WAITMS(150)
END_IF
WAITMS(300)
3) Как лучше сделать тройной клик мышью в одно место? Циклом (то можно скрипт?) или так, как есть?
-
Снимок делаешь в ограниченной области а ищешь потом на всем экране
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "все контакты.bmp")
Ну так надо искать картинку этой кнопки, и если она есть выполнять сценарий.
WAIT(1) //предыдущий сценарий
//Начало сценария с кнопкой
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // ищем кнопку
GETSCREEN(107,339,200,975)
IF_PICTURE_IN (107,339,200,975, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(500)
END_IF
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (83,305,109,972, "почта.bmp")
FOR($a=0,$a<3)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_CYC
WAITMS(400)
END_IF
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (26,338,185,385, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
WAITMS(400)
END_IF
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300)
END_IF
//следующий сценарий
-
Снимок делаешь в ограниченной области а ищешь потом на всем экране
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "все контакты.bmp")
Ну так надо искать картинку этой кнопки, и если она есть выполнять сценарий.
WAIT(1) //предыдущий сценарий
//Начало сценария с кнопкой
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // ищем кнопку
GETSCREEN(107,339,200,975)
IF_PICTURE_IN (107,339,200,975, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(500)
END_IF
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (83,305,109,972, "почта.bmp")
FOR($a=0,$a<3)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_CYC
WAITMS(400)
END_IF
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (26,338,185,385, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
WAITMS(400)
END_IF
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300)
END_IF
//следующий сценарий
Кнопка и есть "все контакты" и есть только в определенной области:) Зачем искать еще файл на всем экране?
-
Кнопка и есть "все контакты" и есть только в определенной области:) Зачем искать еще файл на всем экране?
Если для тебя это очевидно то я не экстрасенс знать что в твоем коде "все контакты" это оказывается кнопка.
WAIT(1) //предыдущий сценарий
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (107,339,200,975, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(500)
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (83,305,109,972, "почта.bmp")
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (26,338,185,385, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300) //следующий сценарий
END_IF
-
Кнопка и есть "все контакты" и есть только в определенной области:) Зачем искать еще файл на всем экране?
Это было не указание к действию, а риторический вопрос к твоему коду. Просто знак вопроса в конце не проставлен:
Снимок делаешь в ограниченной области а ищешь потом на всем экране
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "все контакты.bmp")
Имелось ввиду, чтобы ты обратил внимание, что у тебя GETSCREEN идёт по области и следом поиск по всему экрану. Поиск тоже нужно сделать по области:
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN(107,339,200,975, "все контакты.bmp")
3) Как лучше сделать тройной клик мышью в одно место? Циклом (то можно скрипт?) или так, как есть?
Как тебе удобно. Всё что больше двух удобней и компактней циклом. И легко править в дальнейшем.
Старайся избегать общих формулировок "определённая область", "одна кнопка" и т.п. У тебя же приложен код, вот и указывай конкретно:
При поиске кнопки в строке 9... или При поиске "почта.bmp"... сделать то-то и то-то.
А то в начальном коде у тебя было три поиска, ХЗ какой для тебя нужный в который вложить всё остальное.
Всё просто IF_PICTURE_IN это такое Условие-поиск. Если картинка нашлась, выполняется вложенный код до END_IF (кроме блока ELSE).
Вот и вкладывай туда всё что нужно, а не только клик.
-
Кнопка и есть "все контакты" и есть только в определенной области:) Зачем искать еще файл на всем экране?
Если для тебя это очевидно то я не экстрасенс знать что в твоем коде "все контакты" это оказывается кнопка.
WAIT(1) //предыдущий сценарий
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (107,339,200,975, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(500)
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (83,305,109,972, "почта.bmp")
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (26,338,185,385, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300) //следующий сценарий
END_IF
Спасибо большое!!! Во всём разобрался:)
Чем могу отблагодарить?
-
Кнопка и есть "все контакты" и есть только в определенной области:) Зачем искать еще файл на всем экране?
Если для тебя это очевидно то я не экстрасенс знать что в твоем коде "все контакты" это оказывается кнопка.
WAIT(1) //предыдущий сценарий
GETSCREEN(107,339,200,975) //Начало сценария с кнопкой
IF_PICTURE_IN (107,339,200,975, "все контакты.bmp")
LCLICK($_return1+46, $_return2+7)
WAITMS(500)
GETSCREEN(83,305,109,972) //иконка почты
IF_PICTURE_IN (83,305,109,972, "почта.bmp")
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
LCLICK($_return1+2, $_return2+2)
WAITMS(50)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(22,14)
WAITMS(300)
GETSCREEN(26,338,185,385) //Почта
IF_PICTURE_IN (26,338,185,385, "основная информация.bmp")
LCLICK($_return1+300, $_return2+306)
END_IF
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(64,14) //Завершение сценария с кнопкой
WAITMS(300) //следующий сценарий
END_IF
Просто мне казалось, что это будет сложно и муторно с использованием метки и неизвестных функций. Поэтому даже не заметил особых изменений в вашем изменении с самого начала. Про кнопку я не знал, может так и должно быть. Я очень далек от программирования. Спасибо!))))