Что нового

[Сеть, интернет] Автоматизация веб интерфейсов. Помогите начать.

ManManovich

Новичок
Сообщения
2
Репутация
0
Привет форумчане!
Как водится хочу начать с "Это мой первый пост, прошу сильно не пинать." "Я новичок в Autoit.", и c "Я дико извиняюсь". При том имею приличный стаж программирования для web, а именно php, mysql, css, с html, и не много js.
Чего я хочу:
Хочу автоматизировать игрушечку, браузерную текстовую (конкретнее "ботва"), и торговый интерфейс, типа форекс. Если с игрушечкой всё просто там есть иконки, координаты кнопок, короче говоря за что зацепиться, то с интерфейсом сложнее. Там надо анализировать много данных. Надо много перемещаться между страницами сайта, сопоставлять на какие позиции у меня есть ставки, выбирать другие позиции на которые ставок нет, и делать их, и анализировать свои ставки, и если становится горячо, надо закрывать сделки.
Что беспокоит:
Во-первых: все действия желательно производить "мышкой", не делать лишних перезагрузок страниц, и вообще по возможности имитировать действия "реального" человека, чтобы не запалили админы.
Во-вторых: не знаю, можно ли распознавать текст с экрана, и грубо говоря сливать в массив, анализировать данные и принимать на основании их решения о дальнейшем поведении. Например У меня есть мои текущие сделки в одном массиве, я отслеживаю текущее положение вещей в другом, обновляю его, сопоставляю и при определённых событиях делаю выводы и действия.
Что проделано
Для игрушечки написал скрипты на Elena bot. Штука обалденная (была бы, идея хороша, но программа сырая и развиваться, видимо больше не будет). Очень поравилось, что можно сделать скриншот, сразу же вырезать элемент, записать в набор объектов, за десять минут накидать скрипт и фармить себе спокойно. )) Нагло катаю сутками, собираю кристаллы уже три недели, на виртуалке. Пока не банят. Что не понравилось: Очень куцый самопальный скиптовой язык. Из одного скрипта можно запустить другой, типа функция, но в него нельзя передать результат предыдущей работы, и сам он не подхватывает. подождать 5 минут - это 5 раз вызвать delay на 60000 милисекунд, больше - виснет не понятно почему. Да и вообще при усложнении скипта начинает глючить, при чём не сразу, рандомное количество итераций, а потом приходится перезагружать программу.. Так и не получилось получать значения текущего здоровья, или денег, чтобы понять нужно ли лечиться, и есть ли на что улучшаться. Ну и после переноса на виртуалку пришлось пересобрать коллекцию графических объектов, тк цвета поменялись.
И что же я тут?
Autoit, это, на сколько я начитался, один из мощнейших инструментов автоматизации. Хотел бы попросить Вас посвятить в азы автоматизации для веба.

Интересует с чего начать (где взять редактор и какой, прочитал), какие библиотеки брать, что лучше, как получать данные (типа парсера), как кликать мышкой и как определять куда, заполнять формы. Не прошу научить меня от и до, просто расскажите общие принципы, или на худой конец ткните носом в мануал, статью или фак по этому вопросу. На форуме много информации только она дроблёная, и узкоспециализированная. :stars: Заранее благодарен.
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Отвечу на то что смогу.
1. Интересует с чего начать.*
Ну прежде всего справка на русском языке. При установке AutoIt весь справочный материал на английском, по этому советую скачать перевод
http://www.autoitscript.com/site/autoit/documentation-localization/
2. Где взять редактор и какой.*
Вопрос с редактором стоит не так остро. Для написания скриптов подойдет любой текстовый редактор. Однако по моему мнению удобнее тот что устанавливается вместе с AutoIt. Найти его можно вот так: (Program files\AutoIt3\SciTE\SciTE.exe)
3. Как кликать мышкой и как определять куда*
Для определения координат есть специальная программа так же установленная вместе с AutoIt
(Program files\AutoIt3\Au3Info)
Пользоваться ей достаточно просто и сомневаюсь что вызовет Какие либо трудности.
Теперь о кликах. Есть команда: Что бы прочитать справку по ней достаточно просто кликнуть левой кнопкой мыши по интересующей надписи в коде.
Код:
MouseClick() ;Клик мышью.
Send() ;Отправка текста\эмуляция нажатия клавиши.

ControlSend() ;Отправка текста\эмуляция нажатия клавиши только в интересующее окно.
Global $hWnd1 = WinGetHandle("блокнот") ;Хэндл для ControlSend. Указывается имя окна.
ControlSend($hWnd1, "","", "{SPACE}{SPACE}") ;Пример того как толжен выглядеть ControlSend с хэндл

ControlClick() ;Просмотрите справку. Советую обратить внимание на строку controlID Управляющий элемент. См. Controls.

4. Есть несколько тем связаных с игрой "Ботва".
http://autoit-script.ru/index.php/topic,7930.msg53891.html#msg53891
http://autoit-script.ru/index.php/topic,6847.0.html
Полезно будет просто просмотреть и почитать справку о использованных функциях. Так же советую тему с ответами на некоторые вопросы.
http://autoit-script.ru/index.php/topic,6651.0.html
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Dima1337

ManManovich [?]
Автоматизация веб интерфейсов

Для начала вам хватит и тех библиотек, что идут в комплекте с AutoIt. Практически все действия с вебом укладываются в IE.au3
http://autoit-script.ru/autoit3_docs/libfunctions/
_IE*

И кстати, вопросы типа "с чего начать" на моей памяти еще никому не помогли. Поэтому пробуй сам - прочитай лично всю справку, если что конкретно не понятно - спрашивай на форуме.
 
Автор
M

ManManovich

Новичок
Сообщения
2
Репутация
0
Спасибо, ребят, буду читать и пробовать.
 
Верх