Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Qwadros on January 24, 2016, 09:07:36 PM

Title: Помогите реализовать
Post by: Qwadros on January 24, 2016, 09:07:36 PM
Товарищи, выручайте!

Открыт блокнот, в котором написаны данные для входа на сайт вида логин:пароль
Что надо от скрипта.

Открыт сайт в свернутом браузере. Он копирует логин, открывает сайт, вставляет в нужное поле, снова открывает блокнот, копирует пароль, вставляет в браузер, нажимает кнопку "Войти". Потом, спустя пару секунд, нажимает кнопку выйти. Открывает блокнот, спускается на слеущую строчку и повторяет действия до тех пор, пока в блокноте не закончатся данные вида логин:пароль

Реально ли такое?
Title: Re: Помогите реализовать
Post by: Doda on January 24, 2016, 09:14:37 PM
реально
http://crapware.aidf.org/forum/index.php?topic=36.msg5415#msg5415 (http://crapware.aidf.org/forum/index.php?topic=36.msg5415#msg5415)
Title: Re: Помогите реализовать
Post by: Qwadros on January 24, 2016, 09:23:07 PM
Оооо, замечательно, а как еще добавить пару кликов между зашел на аккаунт и вышел с аккаунта?
Title: Re: Помогите реализовать
Post by: Qwadros on January 24, 2016, 09:25:19 PM
И где там указать где находится поле логина, пароля и кнопка вход?) в скрипте
Title: Re: Помогите реализовать
Post by: Qwadros on January 24, 2016, 10:45:34 PM
Подскажите, а какой командой брать всего одно слово txt и постоянно вставлять его? Т.е. у меня будет 1 текстовик с логинами и паролями, а еще один с одним словом и он будет постоянно вводить его
Title: Re: Помогите реализовать
Post by: Qwadros on January 24, 2016, 11:11:35 PM
Если вас не затруднит, не напишите как сделать это? я в этом вообще ничего не понимаю, спасибо!
Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 01:09:12 AM
Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
LCLICK(208,332) // êëèê ïî ïîëþ ëîãèíà
WAITMS (100)
TOCLIP($log) // ñêîïèðîâàòü â áóôåð
WAITMS (100)
KEYDOWN (#CTRL) // âñòàâèòü
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
 
LCLICK(226,389) // êëèê ïî ïîëþ ïàðîëÿ
WAITMS (100)
TOCLIP($pass)
WAITMS (100)
KEYDOWN (#CTRL)
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
 
LCLICK(224,463) // êëèê ïî "Âõîä"
WAITMS(5000)
LCLICK(340,14) // êëèê ñàéò
WAITMS (4000)
LCLICK(980,203) // êëèê âîéòè
WAITMS (4000)
LCLICK(219,425) // êëèê âîéòè ñòèì
WAITMS (4000)

$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)

$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)   

IF(TFCOUNT("Code.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("Code.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
 
LCLICK(626,475) // ???? ?? ???? ??????
WAITMS (50)
TOCLIP($log) // ??????????? ? ?????
WAITMS (50)
KEYDOWN (#CTRL) // ????????
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)

LCLICK(630,506) // êëèê ñàéò
WAITMS (1000)   
     
$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)

LCLICK(170,14) // êëèê ñàéò
WAITMS (2000)

$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)

$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "6.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)

$time = $_time_t + 100
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "7.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 0
      WHILE($check = 0)      
   


Вот код, почему-то не берет новую строчку, после завершения и нового старта. Как быть?
Title: Re: Помогите реализовать
Post by: Doda on January 25, 2016, 01:13:42 AM
у тебя циклы не закрытые здесь.  каждый вайл должен закрываться
Title: Re: Помогите реализовать
Post by: Oraven on January 25, 2016, 07:30:30 AM
Бездумно копипастить это конечно смело, но код не рабочий.

Вот верный вариант
Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

LCLICK(208,332) // клик по полю логина
WAITMS (100)
TOCLIP($log) // скопировать в буфер
WAITMS (100)
KEYDOWN (#CTRL) // вставить
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)

LCLICK(226,389) // клик по полю пароля
WAITMS (100)
TOCLIP($pass)
WAITMS (100)
KEYDOWN (#CTRL)
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)

LCLICK(224,463) // клик по "Вход"
WAITMS(5000)
LCLICK(340,14) // клик сайт
WAITMS (4000)
LCLICK(980,203) // клик войти
WAITMS (4000)
LCLICK(219,425) // клик войти стим
WAITMS (4000)

$check = 0 // перед циклом задаем значение переменной, например 0
WHILE($check = 0) // цикл с условием, если переменная равна 0 то выполняется
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
      $check = 1 // если картинка найдена меняем значение переменной на другое число, цикл перестанет повторяться и выполнение пойдет дальше
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

IF(TFCOUNT("Code.txt") > $count2)
   INC($count2,1)
ELSE
   $count2 = 1
END_IF
$str = TFREAD("Code.txt", $count2)

LCLICK(626,475)
WAITMS (50)
TOCLIP($str) // текст в буфер
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)

LCLICK(630,506) // клик сайт
WAITMS (1000)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

LCLICK(170,14) // клик сайт
WAITMS (2000)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "6.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "7.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

вот это место
Quote
Code: (clickermann) [Select]
IF(TFCOUNT("Code.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("Code.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)

LCLICK(626,475)
WAITMS (50)
TOCLIP($log)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)

Если у тебя там одно слово то писать надо так
Code: (clickermann) [Select]
LCLICK(626,475)
WAITMS (50)
TOCLIP("Сюда вписываешь код") // слово отправляемое в буфер обмена
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)

Если слов несколько то писать нужно так, и переменная содержащая отсчет строк должна быть с другим именем
Code: (clickermann) [Select]
IF(TFCOUNT("Code.txt") > $count2)
   INC($count2,1)
ELSE
   $count2 = 1
END_IF
$str = TFREAD("Code.txt", $count2)

LCLICK(626,475)
WAITMS (50)
TOCLIP($str) // текст в буфер
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)
Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 11:10:07 AM
Большое спасибо, но код рабочий оказался.  ;D Прям сам в шоке)

Можно ли это как-то реализовать в свернутом режиме? Просто помню, кто-то говорил, что вроде в мазиле сликерман работает в свернутом режиме, нет?
Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 11:13:17 AM
Можно сделать так, что если вылазит окно с ошибкой, он нажмет пропустит 2 действия и пойдет дальше по заданному алгоритму
Title: Re: Помогите реализовать
Post by: Oraven on January 25, 2016, 12:31:32 PM
Анализ графики в свернутом окне невозможен так как она там не отображается. Клики работать будут. Но это не твой вариант так как зажатия в оконном режиме не возможны. Ctrl+V не прокатит.

Можно сделать так, что если вылазит окно с ошибкой, он нажмет пропустит 2 действия и пойдет дальше по заданному алгоритму

Конечно можно, путем добавление переменных и условий в соответствующие места скрипта.
 
Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 05:14:33 PM
Спасибо вам большое, вы меня не первый раз уже выручаете!

Я был бы вам очень благодарен, если бы вы написали пример такой переменной. Как ее реализовать.

И скажите, реален ли алгоритм на одних только фото? Т.е. по поиску картинки и пару кликов.

Что мне надо.
1. Открыт браузер. Две вкладки.
По стандарту открыта первая вкладка.  Там в определенные поля вводится логин:пароль и кнопка войти.  Эта строчка удаляется и заносится в другой текстовый документ.
Может быть, что вылазит ошибка, он удаляет просто эту строчку и перегружает страницу и делает все снова.
2. Переходит на вторую вкладку.обычный клик
3. Нажимает войти. Ждет появления картинки. Как только появляется, нажимает на нее.
4. Ждет дальше появления картинки и нажимает.
5. Опять ждет и нажимает.
Если тут вылазит сообщение,что раньше это действие было выполненно, то он выходит из аккаунта.
6. Переходит на первую вкладку. Там выходит.
7. Нажимает "войти"
8= действия повторяются.

Сейчас приложу скриншоты, писал с телефона
Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 05:41:39 PM
1. Вот поле входа: http://prntscr.com/9umamd  Вот код с координатами, правильно?
Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

LCLICK(208,332) // клик по полю логина
WAITMS (100)
TOCLIP($log) // скопировать в буфер
WAITMS (100)
KEYDOWN (#CTRL) // вставить
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
 
LCLICK(226,389) // клик по полю пароля
WAITMS (100)
TOCLIP($pass)
WAITMS (100)
KEYDOWN (#CTRL)
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
 
LCLICK(224,463) // клик по "Вход"
WAITMS(6000)

TFWRITE ("Good.txt", $str)
TFDELETE ("LogPass.txt", 1)

Возможный вариант ошибки: фаил "bad.bmp". Если вылазит такое, то строчка из LogPass.txt удаляется, Вставляется в Bad.txt
Перегружается страница и все повторяется снова.
Если же ошибка не вылезла, то продолжается выполнение алгоритма.

2.Открывается вторая вкладка:
Code: (clickermann) [Select]
LCLICK(340,14) // клик сайт
WAITMS (6000)

3. Ищет картинку "Steam.bmp"

4. Если вылазит ошибка, то нажимает: "Error.bmp" и переходит к 5 пункту. Если она не влезла, то тоже переходит к 5 пункту

5. Ждет появления и нажимает: "Join.bmp"

6. Ждет появления и нажимает: "Part.bmp"

7. Ждет появления и нажимает: "Code.bmp"

8. Если вылазит определенное окно, он пропускает этот ход, если все нормально. то там будет поле ввода, куда надо ввести "Слово" и нажать на "Activ.bmp"

9. Нажимает "Exit.bmp"

10. Ждет появление "Steam.bmp" (которое в 3 пункте), как только оно появилось он переключается обратно на 1 вкладку.
Code: (clickermann) [Select]
LCLICK(170,14) // клик сайт
WAITMS (2000)

11. Ждет появление "3.bmp", нажимает на него.

12. Нажимает на "4.иьз"

13. Ждет появление "5.bmp", нажимает

14. Ждет 10 секунд. Начинает повтор, до тех пор. пока не будет строк в LogPass.txt



Title: Re: Помогите реализовать
Post by: Qwadros on January 25, 2016, 05:42:16 PM
Остальные скриншоты я потом сделаю сам. если не сложно, реализуйте это в коде! БОЛЬШОЕ ВАМ СПАСИБО!
Title: Re: Помогите реализовать
Post by: Oraven on January 26, 2016, 07:16:29 AM
Code: (clickermann) [Select]
start:
IF(TFCOUNT("LogPass.txt") = 0) // если логины кончились
   HALT // стоп
END_IF
$str = TFREAD ("LogPass.txt", 1) // читаем первую строку
// здесь делим строку на до двоеточия и после
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

LCLICK(208,332) // клик по полю логина
WAITMS (100)
TOCLIP($log) // скопировать в буфер
WAITMS (100)
KEYDOWN (#CTRL) // вставить
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)

LCLICK(226,389) // клик по полю пароля
WAITMS (100)
TOCLIP($pass)
WAITMS (100)
KEYDOWN (#CTRL)
WAITMS (100)
KEYDOWN (#V)
WAITMS (100)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)

LCLICK(224,463) // клик по "Вход"

$time = $_time_t + 5 // таймер на 5 секунд
WHILE($time > $_time_t) // ждем картинку не более 5 секунд
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Error.bmp", -1, 100)
      $time = 0
      WAITMS(100)
   ELSE
      WAITMS(100)
   END_IF
END_CYC
IF($time ! 0)
   // время истекло, картинка не найдена
   TFWRITE ("Bad.txt", $str)
   TFDELETE ("LogPass.txt", 1)
   KEYPRESS(#F5) // перезагружаем страницу
   WAIT(10) // время на перезагрузку страницы в секундах
   GOTO(start) // возвращаемся к метке в начало
ELSE
   // если картинка была найдена идем дальше
   TFWRITE ("Good.txt", $str)
   TFDELETE ("LogPass.txt", 1)
END_IF



LCLICK(340,14) // клик сайт
WAIT(6)
LCLICK(980,203) // клик войти
WAIT(4)
LCLICK(219,425) // клик войти стим
WAIT(4)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Error.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Steam.bmp", -1, 100)
         $check = 1
         WAIT(1)
      ELSE
         WAITMS(50)
      END_IF
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Join.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Part.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Code.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "если все нормально. то там будет поле ввода.bmp", -1, 100)
   
   IF(TFCOUNT("Code.txt") > $count2)
      INC($count2,1)
   ELSE
      $count2 = 1
   END_IF
   $str = TFREAD("Code.txt", $count2)
   
   LCLICK(626,475)
   WAITMS (50)
   TOCLIP($str) // текст в буфер
   WAITMS (50)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS (500)
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Activ.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Exit.bmp", -1, 100)
         $check = 1
         LCLICK($_return1, $_return2)
         WAIT(1)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
END_IF

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Steam.bmp", -1, 100)
      $check = 1
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

LCLICK(170,14) // клик сайт
WAITMS (2000)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(1000)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

WAIT(10)
Title: Re: Помогите реализовать
Post by: Qwadros on January 27, 2016, 11:33:08 AM
СПАСИБО!  ;D

А вот вы говорили, что можно, чтобы он в браузере работал свернутом? Чтобы одни только клики? Как это сделать? Есть написанный кликер по координатам на странице браузера, ничего более там нет.
Title: Re: Помогите реализовать
Post by: Золотой on January 27, 2016, 12:39:00 PM
привяжи скрипт, к нужному браузеру, запиши свои клики. Сверни браузер, запусти воспроизведение записанного скрипта.