Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Alberttt on January 20, 2015, 07:51:48 PM
-
У программы была такая цель: копировать часть сайта и ид страницы в файл akmul.txt, менять ид страницы в адресной строке на +1, переходить на неё и далее всё заново.
Что у меня получилось:#name "New Script"
DEFINE($var, TFREAD("number.txt", 1)) //новая переменная из файла
TFDELETE("number.txt", 1) //удалить 1 строку файла
TOCLIP($var+1) //число+1 в буфер
TFWRITE("number.txt", FROMCLIP()) //записать буфер в файл
UNDEFINE($var) //удалить переменную
WAITMS(50)
LDOWN(565,43) //зажать мышку
WAITMS(150)
MOVE(598,477) //перетащить мышку
WAITMS(150)
LUP(598,477) //отпустить мышку
WAITMS(150)
KEYSTRING (FROMCLIP(), 100) //печатание из буфера в браузер
TFWRITE("akmul.txt", FROMCLIP()) //записать буфер в файл
WAITMS(150)
LDOWN(235,304) //зажать мышку
WAITMS(150)
MOVE(610,42) //перетащить мышку
WAITMS(150)
LUP(610,42) //отпустить мышку
WAITMS(150)
keydown(#ctrl) //копировать инфу
waitms(99)
keypress(#c)
waitms(99)
keyup(#ctrl)
waitms(99)
TFWRITE("akmul.txt", FROMCLIP()) //записать инфу в файл
KEYPRESS(#Enter)
halt
Адресную строку программа исправно корректит, а выделяет и записывает в файл коряво. Координаты правильные, пробовал привязку к окну, получается ещё хуже с координатами. Ребят, выручайте)
-
Никаких привязок. Ну зачем? Вот какая цель?
Никаких кейстрингов, вставляй из буфера по ctrl+v
Кейстринг это не аналог принта...
После чтения из файла получаем строку. Перед вычислениями нужно перевести ее в число, обычно командой INT для целых.
Зачем вот эти манипуляции с дефине? Просто присваивай через 'равно'. И не нужно после удалять.
Судя по координате Y там не одна строка попадет. Может и ошибаюсь.
-
Что значит "привязка"? Если имеется в виду привязка к окну, я и не привязывал, просто решил попробовать, а вдруг заработает. Если имеется в виду привязка к файлу number.txt, это для того чтобы потом ид страницы не потерять. Кейстринг исправно вводил ид(там только цифры в 4 символа, в 1 строку). Посмотрел я на свои координаты y и офигел. Может в них и есть проблема. А проблема в том, что строчки
LDOWN(235,304) //зажать мышку
WAITMS(150)
MOVE(610,42) //перетащить мышку
WAITMS(150)
LUP(610,42) //отпустить мышку
WAITMS(150)
keydown(#ctrl) //копировать инфу
waitms(99)
keypress(#c)
waitms(99)
keyup(#ctrl)
waitms(99)
TFWRITE("akmul.txt", FROMCLIP()) //записать инфу в файл
неправильно выделяют текст, а потом записывают его в виде восклицательных знаков. Днём ещё посмотрю, спасибо за внимание)
-
Конечно имелась ввиду привязка к окну.
Если там только цифры... можно и KEYSTRING.
-
Переписал весь код 8) Кроме записи в файл,всё отлично работает. Записываются только английские символы, проблема именно в записи, а не копировании. Пробовал вставить руками текст, который скопировала программа, всё нормально. Буду организовывать запись через вызов окна блокнота и ctrl+v...
#name "New Script"
$id1=TFREAD("number.txt", 1) // Старый ид страницы из number.txt
$id=($id1+1) // Новый ид страницы
TFCLEAR("number.txt", 0) // Удалить старый ид страницы из number.txt
TFWRITE("number.txt", $id) // Записать новый ид в number.txt
TFWRITE("akmul.txt", $id) // Записать новый ид в akmul.txt
WAITMS(50)
LDOWN(565,43) //
WAITMS(150) //
MOVE(608,43) // Выделить старый ид в адресной строке
WAITMS(150) //
LUP(608,43) //
WAITMS(150)
KEYSTRING ($id, 100) // Печатать новый ид в адресную строку
WAITMS(150)
KEYPRESS(#Enter) // Перейти к новой странице
WAIT(2)
LDOWN(235,304) //
WAITMS(150) //
MOVE(610,476) // Выделить нужный текст
WAITMS(150) //
LUP(610,476) //
WAITMS(150)
keydown(#ctrl) //
waitms(99) //
keypress(#c) // Копировать текст
waitms(99) //
keyup(#ctrl) //
waitms(99)
TFWRITE("akmul.txt", FROMCLIP()) // Записать текст в akmul.txt
halt
-
Ты про строку 31? Так это просто недопустимые символы в строке. У кликермана с этим пока проблемы. Кавычки, скобки всякие.
-
Я бы с адресной строкой не так работал
#name "New Script"
// Браузер
$brawser = "firefox.exe"
//$brawser = "opera.exe"
//$brawser = "chrome.exe"
//$brawser = "firefox.exe"
$pref = "http://demotivators.to/archive/2009/5/?page=" // постоянная часть адреса
$id = INT(INIREAD("number.ini", "id")) // Старый ид страницы из number.ini
WAITMS(50)
WHILE(1)
INC($id) // Новый ид страницы
EXECUTE($brawser, STRCONCAT ($pref, $id)) // открываем вкладку
WAIT(2)
LDOWN(235,304) // Выделить нужный текст
WAITMS(50)
MOVE(610,476)
WAITMS(50)
LUP(610,476)
WAITMS(100)
keydown(#ctrl) // Копировать текст
waitms(30)
keypress(#c)
waitms(30)
keyup(#ctrl)
waitms(100)
INIWRITE("number.ini", "id", $id) // Записать новый ид в number.ini
WAITMS(30)
TFWRITE("akmul.txt", $id) // Записать новый ид в akmul.txt
WAITMS(30)
TFWRITE("akmul.txt", FROMCLIP()) // Записать текст в akmul.txt
WAITMS(30)
LCLICK(636,11) // закрываем вкладку
WAITMS(70)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#W)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(300)
END_CYC
Ну и вставку заменить на Ctrl+V