Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Ellen on March 17, 2022, 12:17:13 PM
-
Здравствуйте! Такая задача: написал шаблон скрипта, нужно чтобы из текстовых файлов он читал первую строчку - вставлял. Потом как весь скрипт отработал и пошел на 2 круг читать уже надо 2-3-4-5 строчку и т.д. Текст в текстовом файле на русском
И ещё в одном моменте нужно заполнить 2 чекбокса, известны координаты ЛКЛИК нужно нажать в 2 рандомных.
Читал инструкцию к командам, немного не получается, тут думаю быстрее будет
UPD: текст из блокнота копируется кракозябрами, как исправить?
WAITMS(300) //
LCLICK(693,507) // мышь на поле ФИО
// тут нужно чтение из файла номер 1 txt или xsl
// в файле записаны ФИО на строчку, нужно ччтобы было чтение строки и вставка
WAITMS(500)
LCLICK(808,562) // кнопка далее
WAITMS(500)
LCLICK(516,504) // мышка галочка на чекбокс
WAITMS(500)
LCLICK(827,550) // далее
WAITMS(500)
LCLICK(521,509)// чекбокс галочка
WAITMS(500)
LCLICK(827,550) // далее
WAITMS(500)
LCLICK(607,457) // мышь в поле ввода
WAITMS(500)
// чтение из файла номер 2
// в файле записаны слова на строчку, нужно ччтобы было чтение строки и вставка
LCLICK(852,644)
WAITMS(500)
// вот тут надо выбирать 2 рандомных чекбокса по ЛКЛИК 510 439 и 509 493 и 504 547 и 508 627
LCLICK(850,709)
WAITMS(500)
LCLICK(853,599)
WAITMS(500)
LCLICK(831,660)
WAITMS(500)
// // вот тут надо выбирать 2 рандомных чекбокса по ЛКЛИК 510 439 и 509 493 и 504 547 и 508 627
WAITMS(500)
LCLICK(848,617)
WAITMS(500)
LCLICK(606,459)//поле ввода
// чтение из файла номер 3
// в файле записаны слова на строчку, нужно ччтобы было чтение строки и вставка
WAITMS(500)
LCLICK(842,659) // далее
WAITMS(500)
// чтение из файла номер 4
// в файле записаны слова на строчку, нужно ччтобы было чтение строки и вставка
LCLICK(840,653) // далее
WAITMS(500)
LCLICK(842,657) // далее
WAITMS(500)
LCLICK(733,507) // поле ввода номера
// чтение из файла номер 5
// в файле записаны слова на строчку, нужно ччтобы было чтение строки и вставка
LCLICK(859,585) // конец
-
Во первых... Прежде, чем производить какие-либо действия, кликеру лучше "убедиться", что открыта нужная страница в браузере. По каким параметрам он это будет делать - тебе видней. Из нас никто эту страницу не видит.
Во вторых... Что конкретно непонятно из этой справки?
(https://sun9-62.userapi.com/impf/XDo0hbMXvlg7vQ6XVp8S_vFqsU9Xi1VNJfrWUg/XcZdN2vlp4s.jpg?size=815x560&quality=95&sign=621c0079597c655ec84b4f31cbb410a9&type=album)
-
Вопрос вставки текста из файла вроде бы решен.
Не могу сделать:
Известны координаты ЛКЛИК к прмиеру 5 штук, из этих 5 надо рандомно выбрать 2, вот на этом застрял
-
Ок. Что непонятно здесь?
(https://sun9-24.userapi.com/impf/yQP0n36PcZA7-khZT9f8jgsVRO_2mlewXAv-kQ/c3IED4sFUKs.jpg?size=815x557&quality=95&sign=cb76dfe5026822ef2aa4044057baa0cb&type=album)
-
Я написал
RND (LCLICK(808,562) LCLICK(844,562) LCLICK(875,562) LCLICK(885,562) LCLICK(892,562) LCLICK(858,562))
не работает, ну возможно не так написал, да
так же пробовал с RNDFROM
-
FOR($i=0,$i<2)
$variant[$i] = RND (1, 5)
SWITCH($variant[$i])
CASE(1)
LCLICK(10,10) // Здесь координаты первого варианта
CASE(2)
LCLICK(10,10) // Здесь координаты второго варианта
CASE(3)
LCLICK(10,10) // Здесь координаты третьего варианта
CASE(4)
LCLICK(10,10) // Здесь координаты четвертого варианта
CASE(5)
LCLICK(10,10) // Здесь координаты пятого варианта
END_SWITCH
END_CYC
HALT
-
Стоп... Забыл исключить на втором кругу цикла вариант, который был выбран на прошлом кругу... Сейчас намутим...
-
FOR($i=0,$i<2)
$variant[$i] = RND (1, 5)
SWITCH($variant[$i])
CASE(1)
LCLICK(10,10) // Здесь координаты первого варианта
CASE(2)
LCLICK(10,10) // Здесь координаты второго варианта
CASE(3)
LCLICK(10,10) // Здесь координаты третьего варианта
CASE(4)
LCLICK(10,10) // Здесь координаты четвертого варианта
CASE(5)
LCLICK(10,10) // Здесь координаты пятого варианта
END_SWITCH
END_CYC
HALT
ну вот оказывается как сложно надо было) я бы не додумался до этого) сейчас попробую
-
а есть ещё такой вариант чтобы из файла например читалась и вставлялась не одна строка а три например?
Текст вставки делал по такому принципу
WAIT(2)
INC($num,1) // накручиваем номер строки каждый проход
TOCLIP (TFREAD ("nics.txt", $num)) // копируем строку в буфер
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
KEYPRESS(#ENTER) // Enter
WAITMS (100)
-
Стоп... Забыл исключить на втором кругу цикла вариант, который был выбран на прошлом кругу... Сейчас намутим...
Сам намутишь ))
а есть ещё такой вариант чтобы из файла например читалась и вставлялась не одна строка а три например?
FOR($i=1,$i<4)
TOCLIP (TFREAD ("nics.txt", $i))
END_CYC
-
Стоп... Забыл исключить на втором кругу цикла вариант, который был выбран на прошлом кругу... Сейчас намутим...
Сам намутишь ))
Вот наверное с этим я и столкнулся) на втором круге не работает рандомность) как исправить?
-
Я бы так сделал бы:
GETSCREEN
FOR($i=0,$i<2)
$flag = 1
WHILE($flag)
$variant[$i] = RND (1, 5)
SWITCH($variant[$i])
CASE(1)
// Здесь координаты первого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$flag = 0
END_IF
CASE(2)
// Здесь координаты второго варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$flag = 0
END_IF
CASE(3)
// Здесь координаты третьего варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$flag = 0
END_IF
CASE(4)
// Здесь координаты четвертого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$flag = 0
END_IF
CASE(5)
// Здесь координаты пятого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$flag = 0
END_IF
END_SWITCH
END_CYC
END_CYC
HALT
-
Следую пока по первому варианту, если такая возможность уменьшить скорость выставления чекбоксов? не успевает ответ от сервера придти, а если не выбран ни один чек бокс дальше не пускает
-
Следую пока по первому варианту, если такая возможность уменьшить скорость выставления чекбоксов? не успевает ответ от сервера придти, а если не выбран ни один чек бокс дальше не пускает
LCLICK(852,644)
WAITMS(500)
FOR($i=1,$i<3)
$variant[$i] = RND (1, 8)
SWITCH($variant[$i])
CASE(1)
LCLICK(509,439) // Здесь координаты первого варианта
CASE(2)
LCLICK(511,472) // Здесь координаты второго варианта
CASE(3)
LCLICK(509,493) // Здесь координаты третьего варианта
CASE(4)
LCLICK(507,519) // Здесь координаты четвертого варианта
CASE(5)
LCLICK(508,547) // Здесь координаты пятого варианта
CASE(6)
LCLICK(506,573) // Здесь координаты третьего варианта
CASE(7)
LCLICK(507,598) // Здесь координаты четвертого варианта
CASE(8)
LCLICK(510,627) // Здесь координаты пятого варианта
END_SWITCH
END_CYC
Вот тот цикл выполнять чуть медленнее, перед выбором рандомного чек бокса и клика туда взять паузу к примеру 100мс
-
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
-
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
Потому, что цикл ты сделал от 1 до 3, а не как я дал - от 0 до 2.
Следую пока по первому варианту, если такая возможность уменьшить скорость выставления чекбоксов? не успевает ответ от сервера придти, а если не выбран ни один чек бокс дальше не пускает
GETSCREEN
FOR($i=0,$i<2)
$flag = 1
WHILE($flag)
$variant[$i] = RND (1, 5)
SWITCH($variant[$i])
CASE(1)
// Здесь координаты первого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$time = $_time_t + 2
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
$time = 0
$flag = 0
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
CASE(2)
// Здесь координаты второго варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$time = $_time_t + 2
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
$time = 0
$flag = 0
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
CASE(3)
// Здесь координаты третьего варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$time = $_time_t + 2
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
$time = 0
$flag = 0
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
CASE(4)
// Здесь координаты четвертого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$time = $_time_t + 2
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
$time = 0
$flag = 0
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
CASE(5)
// Здесь координаты пятого варианта
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK(10,10)
$time = $_time_t + 2
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
$time = 0
$flag = 0
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
END_SWITCH
END_CYC
END_CYC
HALT
-
И это... Я тебе даю сбоеустойчивый вариант. А ты уже делай, как хочешь. Пример в моем варианте виден. Крути его уже под себя сам.
-
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
+ как сделать чтобы рандом генератор случайно не выбрал одну и ту же цифру, просто иногда бывает что галочка на чек боксе ставится, потом убирается и из за этого нельзя дальше пройти
-
просто иногда бывает что галочка на чек боксе ставится, потом убирается
В последнем моем варианте все сделано.
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
Я уже объяснил - читай выше.
-
+ как сделать чтобы рандом генератор случайно не выбрал одну и ту же цифру, просто иногда бывает что галочка на чек боксе ставится, потом убирается и из за этого нельзя дальше пройти
У тебя всего ДВА рандомных числа, да выбери ты их сразу.
$variant[0] = RND (0, 4)
$variant[1] = RND (0, 3)
if ($variant[1]==$variant[0])
$variant[1]=4
end_if
Загони координаты клика в массив, чтобы не долбить один и тот же код, как дятел, и не ошибиться.
$xclick[0]=509
$yclick[0]=439 // Здесь координаты первого варианта
$xclick[1]=511
$yclick[1]=472 // Здесь координаты второго варианта
// и т.д.
И только потом уже делай свой цикл на два клика, без всяких SWITCH, используя $xclick, $yclick
FOR($i=0,$i<2)
$flag = 1
$xn=$xclick[$variant[$i]]
$yn=$yclick[$variant[$i]]
WHILE($flag)
GETSCREEN
IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
LCLICK($xn,$yn)
ELSE
$flag = 0
END_IF
WAITMS(50)
END_CYC
END_CYC
Если надо, диапазон проверки картинки тоже к $xn,$yn привяжи, а проще не картинку искать/проверять, а один пиксель, который изменится при успешном клике. По этому пикселю и кликай. Тогда и $flag не нужен будет.
FOR($i=0,$i<2)
$xn=$xclick[$variant[$i]]
$yn=$yclick[$variant[$i]]
GETSCREEN
$cn=PXL($xn,$yn)
WHILE($cn==PXL($xn,$yn))
LCLICK($xn,$yn)
WAITMS(50)
GETSCREEN
END_CYC
END_CYC
Я бы ещё WHILE на FOR заменил, во избежание зацикливания.