eXeL@B —› Оффтоп —› Автоматизация повторяющихся действий для браузерного приложения |
Посл.ответ | Сообщение |
|
Создано: 08 июня 2014 23:02 · Личное сообщение · #1 Всем добрый день. Столкнулся я с проблемой, грубо говоря, написания бота для браузерной игры. Но так как ботов тут не любят, то поясню. Есть замечательный сайт 1. Снифая трафик, я не могу понять, в каком запросе приходит текст для гонки. 2. Если писать тупо программку (например, на С++), которая будет вводить текст, отравляя сообщения окна браузера, то есть проблема с тем, где взять этот текст (он не копируется обычным способом). 3. Нажимая "Проинспектировать элемент" в Опере или что-то аналогичное в Хроме, я без труда нахожу этот текст на странице, и я даже не против парсить html, но вот как мне из браузера получить эту страницу, непонятно. В общем, есть такие пути - как-то писать бота так, чтоб он: а) работал внутри браузера, используя какой-нибудь javascript. б) работал автомно, взаимодействуя с браузером через winAPI. в) полностью эмулировал бы браузер (но мне это не надо, ибо много гемороя, а я не настолько идейный). Погуглил статьи на эту тему на хабре. Есть пара статей, где чуваки пишут ботов на autoit, но мне этот вариант не подходит, так как там пишут бота для игры, где объектами являются геометрические фигуры, отличающиеся по цвету. У меня же тут текст, и тогда мне нужен ещё какой-то модуль распознавания текста, какой-то FineReader, ну, короче, не вариант. Как вставить свой джаваскрипт код и заставить его выполняться на чужой странице, инфы не нашлось. Помогите советом, как быть? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 08 июня 2014 23:07 · Поправил: dosprog · Личное сообщение · #2 Не знаю, насколько абсурдным покажется такой вариант, но можно ведь (или нельзя?) скопировать предложенный текст в буфер обмена, выделив мышом, а дальше программа эмуляции нажатий на кнопки.. Чисто теоретически. Что-то похожее на другой вариант видал На помощь приходит замечательное дополнение для браузера Firefox - Greasemonkey. Суть его в том, что на любую страницу можно добавить пользовательский JavaScript, который будет выполнен сразу же после ее формирования. Это позволяет, например, как угодно модифицировать страницу после ее загрузки. Для множества сайтов уже созданы сотни полезных скриптов, а, обладая навыками программирования на JavaScript, вы можете сами написать нужный вам скрипт. Если интересны подробности, то почитайте документацию на офсайте дополнения. Ну то таке.. |
|
Создано: 08 июня 2014 23:30 · Личное сообщение · #3 |
|
Создано: 08 июня 2014 23:58 · Личное сообщение · #4 |
|
Создано: 09 июня 2014 05:17 · Личное сообщение · #5 |
|
Создано: 09 июня 2014 05:38 · Поправил: LinXP · Личное сообщение · #6 ARCHANGEL чего то текст мне сразу на глаза попался.. http://s020.radikal.ru/i719/1406/e0/b764db5d0faa.png Code:
отключить блокировку выделения можно например удалить слово js-focus http://i053.radikal.ru/1406/e2/1e3f1b1b1a98.png ps: предполагаю если послать правильную строку на сервер, Code:
где position - это количество слов в водимой строке и правильным request_code и request_hash - то сервер будет считать что рейс закончен.. add: http://keyboard-racing.com/js/core_v1.66.js ( Code:
я в яве нуб, но полагаю что если после var game_text=_game_data.game_text.split(' '); добавить строку position=text.length; то этого будет вполне достаточно |
|
Создано: 09 июня 2014 06:25 · Поправил: kampaster · Личное сообщение · #7 ARCHANGEL пишет: dosprog пишет: но можно ведь (или нельзя?) скопировать предложенный текст в буфер обмена, выделив мышом... Нельзя, после выделения мышью выделение тут же сбрасывается. Можно. К примеру: Выделить текст ЛКМ и не отпуская ЛКМ нажать Ctrl+C Текст копируется, но сработает защита - по тексту будут рассыпаны цифры в разных местах. Вот что получилось: Wi7523lliam G5845olding's classi9142c no9255vel o5572f primi6173tive savagery9078 and1330 survi5992val i5262s on4271e of6490 the3858 most6517 vivi8975dly re6914alized and9490 rivetin9805g work2484s in10860 m3869odern ficti5785on. The9151 tale8165 begins5835 aft1747er a5426 p1532lane wrec8441k d1210eposits a10236 gr3362oup o7633f Englis5671h sch7662ool boys6343, a8193ged s9486ix t9188o twe9643lve on4591 a1897n isolate5432d tropic8285al isl10918and. Если подчищать мусор, то будет всё пучком |
|
Создано: 09 июня 2014 07:02 · Поправил: deniskore · Личное сообщение · #8 В ranorex есть все, что нужно, в том числе распознавание текста, правда фреймворк не бесплатный |
|
Создано: 09 июня 2014 11:44 · Поправил: vovanre · Личное сообщение · #9 Если в языках не привередливы, то есть c sharp + -UDP- Там ещё есть для c++, не заметил. |
|
Создано: 09 июня 2014 13:04 · Личное сообщение · #10 В чем сложность найти текст. Браузер google, правая кнопка - просмотр кода элемента. FOTO http://postimg.org/image/sne7za6d5/ И мы видим: 1) Текст 2) Цифры, о которых писал kampaster. Можно использовать C# как прокси в браузере, и если текст удалось вынуть, то показать сообщение в трее и готовность ввести текст в активное окно (по нажатию ключевых кнопок). Еще можно посмотреть на Fiddler2, отличный пример ПО на С#. |
|
Создано: 09 июня 2014 15:45 · Личное сообщение · #11 Игрушка заинтересовала, двадцать минут быдлокодинга и awesomium , вот результат. | Сообщение посчитали полезным: Alinator3500 |
|
Создано: 09 июня 2014 15:54 · Личное сообщение · #12 Ух, сколько инфы! Спасибо за поддержку! Теперь давайте по-порядку разбираться. LinXP пишет: ARCHANGEL чего то текст мне сразу на глаза попался.. Странно, я видел этот запрос, но что-то как-то недосмотрел там текст. Попробую ещё раз, возможно, снифферы показывали не всё, или я как-то не так смотрел. Я так понимаю, что этот скрин из хрома сделан? Но я пробовал WireShark - там мог просто тупо не найти, ибо х.з., как там нормально искать. Ещё пробовал HttpAnalyzer, и видел там этот запрос, но не видел текста. В общем, теперь зная, что искать, буду пробовать ещё раз. я в яве нуб, но полагаю что если после var game_text=_game_data.game_text.split(' '); добавить строку position=text.length; то этого будет вполне достаточно Может и так, но такой способ не подходит, ибо слишком это палевно. kampaster пишет: Можно... Если подчищать мусор, то будет всё пучком Вот только как его подчищать адекватными способами? Там в текстах ещё и цифры попадаются, и как их отличить от мусора? vovanre Скачал этот сдк, пока читаю туторы для нубов. Но пока я не понимаю, как вам удалось? Вы бы не могли более детально описать свои "двадцать минут быдлокодинга"? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 09 июня 2014 16:02 · Поправил: vovanre · Личное сообщение · #13 |
|
Создано: 09 июня 2014 18:00 · Личное сообщение · #14 |
|
Создано: 09 июня 2014 18:49 · Личное сообщение · #15 |
eXeL@B —› Оффтоп —› Автоматизация повторяющихся действий для браузерного приложения |