Бот для управления браузером

Обновлено: 20.05.2024

Давно думаю попробовать написать несколько материалов, как легко в браузере писать ботов и не только. Не кармы ради, а плюсиков для. Шутка с долей шутки.

Данный материал не является пособием по программированию. И данный код ни в коем случае не считать эталонным! Использовать его надо с умом в любых интересах в познавательных целях, не во зло.

Если материал окажется интересным, то продолжу.

Пока писал пост, гадал: "забанит, не забанит, забанит, не забанит ли меня администрация за такой пост?"

Глава 0. Немного обо всём этом

Немного вводной, так скажем основы основ. Особенности описанного далее материала в том, что ботов (он же UserScript, гуглится легко что это такое) можно писать прямо в любимом браузере для любимого браузера. Преимуществ в этом много, начиная с удобства разработки и заканчивая наименьшей заметностью бота при меньших усилиях. В своё время я для одной игры написал бота. Разработчики хвалились, что они отслеживают ботов и банят. Но забанить меня в течение пары месяцев у них не получилось. Только когда я потерял интерес (как раз где-то через месяц) я оставил специально "дыру" и только тогда они начали подозревать неладное, но аргументов на забанивание всё равно не нашли. Но боты выступают не только в виде читерства, но и например для разгадки простых капч. В другой игре постоянно, по поводу и без надо было вводить капчу, простую. Тогда я написал разгадывателя капчи с 99.5% (примерно) попаданием. Но зря, через некоторое время капча была убрана разработчиками.

По сути эти боты - это просто кликеры (автокликеры), хотя можно сделать и не кликера, а фонового, но это, если и буду описывать, то в самом конце цикла статей.

Также, для удобства работы рекомендую пока что ознакомиться, а в будущем обязательно поставить Greasemonkey или Tampermonkey. Есть ещё Scriptish, но он мне не понравился. А также можно использовать UserScripts "как есть" в Хроме, но это чуть менее удобно.

Тут и далее материал будет писаться на основе браузера Firefox, ибо там есть очень хороший плагин для разработчиков FireBug и я к нему привык. Но в других браузерах есть всё тоже самое, свои инструменты для разработчика, просто чуть по другому выглядит и называется. Чтобы продолжить их надо открыть, для этого надо нажать F12. Если у вас не открываются они, например в Сафари, то ищем в гугле "название_вашего_браузеран открыть инструменты разработчика".

Далее под Хромом будут подразумеваться все браузеры основанные на хромоподобном движке webkit/blink, это Опера, Яндекс и другие.

Все названия элементов меню и прочего я буду писать примерные, обобщенные, а вы уже ищите что-то похожее.

Скрины, если и будут, то могут быть из разных браузеров, там где это нагляднее показывается.

Данный материал не рассказывает о кроссбраузерности. В материале используются только современные достижения для современных браузеров.

Глава 1. Функция click() и querySelector

В данной главе мы научимся пользоваться консолью, научимся искать и изменять элементы, ну и кликать.

Начнем с авторизации на Пикабу. Все свои эксперименты с авторизацией я провожу в Инкогнито режиме на тестовом аккаунте, но это не принципиально.

И так мы открыли Инструменты разработчика и там находим Консоль. В ней мы будем тестировать наш JS код.

Авторизация происходит следующим образом: вводится "логин" и "пароль" и нажимается кнопка "войти". Первым делом нам надо ввести данные. Но надо знать куда ввести, в какой элемент на странице, то есть найти элементы под названием input. Конечно же не любые, а именно для логина и пароля. Кто пользуется Firebug или Хром необходимо будет поставить курсор на этот input, нажать правую мышь и выбрать пункт "инспектировать элемент". В консоли откроется наш элемент. Если у вас нет подобного пункта, то в консоли должна быть кнопочка придется искать его по всему документу самим.

(на картинке ниже слева Хром, правее Firebug)

Говнокодим кликербота на JS на примере Пикабу. 1: click() и querySelector() Javascript, Нелегально, Быдлокодинг, Длиннопост

После того как выбрали его, необходимо найти пункт типа "скопировать селектор" или CSS. Вроде любой браузер должен копировать самый короткий селектор. Кроме Firebug, он копирует самый длинный, полный селектор.

Более подробно с этим можно ознакомиться по ссылке выше или в учебнике по CSS, это основы CSS.

Получается вот такие строки:

document.querySelector('button.b-button:nth-child(2)');

Выполняя каждую строку отдельно, в консоли мы увидим наши элементы.

Говнокодим кликербота на JS на примере Пикабу. 1: click() и querySelector() Javascript, Нелегально, Быдлокодинг, Длиннопост

Так просто не с каждым атрибутом, но сейчас не об этом.

Обязательно брать строки в кавычки всегда!

document.querySelector('button.b-button:nth-child(2)').click();

Выполняем эту строчку и у нас произойдёт отправка. Если выполнить все три строчки разом, то произойдёт сразу, в порядке переданных строк, заполнение и вход.

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

"Бонусом": тоже самое можно сделать с выставлением плюса или минуса комментарию. Выбираем наш элемент и кликаем:

Говнокодим кликербота на JS на примере Пикабу. 1: click() и querySelector() Javascript, Нелегально, Быдлокодинг, Длиннопост

На этом всё. Хотел написать кратко, думал уложусь в несколько абзацев, а получилось как всегда, Остапа было уже не остановить.

Эпилог поста

В планах примерно такой порядок материал:

2. Цикл (какой-то один или два, а не все).

3. Условия (if/else) и Интервалы (setTimeout/setInterval)

4. Массив, хранилища (наверное только localStorage) и прочее что понадобится. например JSON.

Планы неточные, могут меняться, в частности по пожеланиям в комментариях.


Web-технологии

233 поста 4.5K подписчиков

Правила сообщества

1. Не оскорблять других пользователей

2. Не пытаться продвигать свои услуги под видом тематических постов

3. Не заниматься рекламой

4. Никакой табличной верстки

5. Тег сообщества(не обязателен) pikaweb

Комментарий удален. Причина: данный аккаунт был удалён

Если удастся найти дешевые билеты согласен заплатить половину сэкономленной суммы.

Законопроект

В госдуму внесён законопроект о запрете СМИ упоминать национальность преступников. Поэтому теперь вы никогда не догадаетесь, кто именно на свадьбе стрелял в воздух.


У расчленёнки нет региональной принадлежности!

У расчленёнки нет региональной принадлежности!

Когда запретили указывать национальность преступника

Когда запретили указывать национальность преступника

Как вас теперь называть?

Законопроект запрещающий СМИ сообщать национальность

Внезапное

Внезапное Twitter, Вижу рифму, Мат, Юмор, Профессия

Усман Нурмагомедов опознан как водитель

“Рокировочка по-братски” не прокатила, Камал Идрисов направлен в СИЗО до 11 января, ему грозит 10 лет тюрьмы.

Попытка брата Хабиба Нурмагомедова, бойца Bellator Усмана Нурмагомедова, уйти от ответственности за наезд на полицейского, возможно, провалилась. Все дело в том, что стоявшие на посту у Каспийского аэропорта сотрудники правопорядка узнали в водителе, сбившем одного из них на КПП, Усмана Нурмагомедова. Об этом сообщает телеграм-канал SHOT.

Автомобиль преступников был полностью тонирован, но в момент проезда через КПП боковое окно со стороны водителя было открыто, и сотрудники по фото опознали, что за рулем сидел именно Усман Нурмагомедов. Эту информацию полицейские внесли в протокол следователя по делу.

Теперь для Усмана и его друга Камала Идрисова ситуация серьезно осложнилась, так как к ДТП и оставлению места наезда на полицейского потенциально добавилось лжесвидетельствование. Ведь ранее приятели заявили, что за рулем находился Камал, а Усман спал на заднем сиденье после тренировки. Ну и прицепом там идет рассказ про то, что ребята очень торопились и решили, что не сбили человека, а слегка задели его зеркалом. А после они поменялись местами и за руль сел уже Усман - просто так захотелось.

Сейчас следователи изучают видео с камер наблюдения, чтобы точно установить водителя. Камала же после получения новых данных из-под домашнего ареста перевели в СИЗО, где он будет находиться до 11 января. СМИ утверждают, что ему грозит до 10 лет тюрьмы.

Лучшие моды

Лучшие моды Мемы, Star Wars, Моды, Энакин и Падме на пикнике, Сиськи

Взято из просторов телеграмма.

Воспоминания

Воспоминания Порно, Девушки, 18+, Подруга, Секс, Фильмы, Юмор, Картинка с текстом

Думал пирожком отделаешься?

Думал пирожком отделаешься?

Целевая аудитория

Вчера наша команда по любительскому мини-футболу избежала поражения, и на последних минутах тренировки сравняла счёт. На радостях мы командой решили попить кофе в ближайшем кафе. Коллектив у нас разного возраста, и по большому счёту, мы друг друга почти не знаем. Только имена и марку машины. Например, Андрей на белой Королле.

Сидим, общаемся, и разговор заходит про профессии. Юра на синем Туареге говорит:

Юрий помолчал, а потом продолжил.

- С этой работой я никогда не думал, что так пристально буду следить за прогнозом погоды! Когда в прогнозе я видел эту чёртову снежинку…

Все с сочувствием и поддержкой слушали его. Самый старший из нас, мужчина лет пятидесяти, Максим на сером Прадике, сказал:

- Понимаю. Я в частном доме живу!

Продолжил молодой Андрей на белой Королле:

- Студентом завалил три экзамена. Взял академ. Надо было чем-то полгода заниматься. Устроился торговать синтезаторами. Небольшой отдел в торговом центре. Скучнее в жизни больше ничем не занимался. Через пару дней работы я понял, что эти синтезаторы на фиг никому не нужны. Ну вот, скажите, вы часто покупаете синтезаторы?

За столиком все молчали. Возрастной Максим, что-то хотел произнести, но промолчал. Андрей продолжил.

- Вот! Я просто сидел, окружённый синтезаторами, целыми днями и ничего не делал. Хозяин этого отдела был очень странный тип. Он запрещал мне читать, лазить в телефоне. Я должен был просто сидеть и улыбаться! Более того, хозяин каждый вечер стал отчитывать меня за то, что за день не было продаж. В какой-то момент перестал здороваться даже! Думаю, валить надо от этого чокнутого. Ща получу зарплату за месяц и уволюсь. А если не заплатит?!

Максим на сером Прадике неожиданно сказал:

- Я вспомнил, откуда мне лицо твоё знакомо! Я у тебя синтезатор так купил! Помнишь меня?! С бутылкой пива такой и с чипсами? Я еще тебя ими угостил.
- Что-то припоминаю. Ну как, жалеешь?
- Нет! Это самая лучшая покупка в моей жизни! Я-то не играю… Дочь увлеклась. Играть научилась, поёт. К компу подключила его. Что-то там сводит. Спасибо тебе!
- Не за что! Главное, правильно угадать с целевой аудиторией!

В этой статье, я объясню общий принцип создания ботов на Python, применив полученные знания, вы сможете создать бота который:

Создаем первого бота на Selenium.

Данный способ подойдет для любого сайта, однако, за все нужно платить. Selenium запускает браузер, отъедая огромный запас оперативной памяти. Используйте его только тогда, когда нужно выполнить JS код на странице.

Первым делом нужно установить библиотеку, для этого введите в консоли:

Далее, установите веб-драйвер под браузер Firefox отсюда. Также, необходимо установить браузер Mozilla Firefox, если еще не установлен.

Теперь напишем простейшего бота. Для этого, напишите следующий python скрипт.

Код скрипта описан в комментариях.

Далее, переместите файл скрипта, в одну папку с веб-драйвером geckodriver.exe


И запустите python скрипт. У вас должен открыться браузер.


В адресной строке видна иконка робота, это значит, что браузером управляет программа.

Хорошо, бот создан, но он бесполезен. Единственное на что он способен, это заходить на сайт. Давайте добавим ему новых функций. Например, сделаем так, чтобы бот лайкал посты на сайте.

Бот лайкающий посты на сайте.

Последовательность действий у нас следующая.

Первый пункт мы уже сделали, перейдем ко второму.

Пройтись по каждому из постов.

На этом этапе, нужно понимать разметку HTML.

Зайдите на сайт, и нажмите кнопку F12.


У вас откроются инструменты разработчика. Изучив разметку, мы понимаем, что все посты находятся в теге article.

Сейчас нам нужно получить ссылку, на каждый пост. Для этого будем использовать этот css селектор.


Данный селектор указывает:

  • На элемент с тегом a
  • который находится находится внутри тега h2 с классом entry-title
  • тот, в свою очередь, находится внутри тега header с классом entry-header
  • тег header находится внутри тега div с классом blog-entry-content
  • тот, находится в теге div
  • тег div находится внутри тега article

Теперь, дополним бота.

Разберем новую функцию.

Данная функция ищет элементы по css селектору. В результате своей работы, она возвращает массив элементов.

В-общем, мы из этого массива, достали первый элемент, и при помощи функции get_attribute(), получили значение атрибута href (ссылка на пост).

И вывели его на экран.

Запустите скрипт, в консоли должна появится ссылка на первый пост.


Если закинуть массив элементов в цикл, то получится извлечь ссылки на все посты.


Отлично, ссылки на все посты получены, осталось всем этим постам, поставить лайк.

Нажать кнопку лайк, если она не нажата

Сначала перекопируем наши ссылки в отдельный массив. Замените это:

Далее напишем код, отвечающий за нажатие кнопки лайк.

Разберем данные строки.

Данная строка ищет кнопку с помощью css_селектора, и получает строку с названиями классов нашей кнопки.


Кликаем по кнопке лайк.

Осталось закрыть браузер, делается это с помощью функции quit().

Бот завершен, запустите скрипт, и наслаждайтесь автоматизацией.

Делаем браузер невидимым

Бот работает и все-бы ничего, но своим окном бразуера, он перекрывает все остальные окна. К счастью, у Firefox есть headless режим, позволяющий пользоваться функциями бразура, не открывая окно браузера.

Добавьте следующий код перед инициализацией браузера:

Здесь, мы переопредили настройки браузера, осталось передать их, нашему браузеру.

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

Общий рейтинг Общие сведения Функции Дополнительные возможности

Общие сведения:

Функции:

Дополнительные возможности:

Автоматизация действий созданием скрипта в пользовательском режиме Установка значений и положения указателя мыши по координатам

Программа Clickermann представляет собой простой автокликер с лаконичным интерфейсом на русском. Он слегка уступает более продуманным аналогам касательно планировки выполнения записанной последовательности действий, но пользуется большой популярностью в среде геймеров, хотя и не позиционируется как программа для игр.

Записывать серии кликов можно в редакторе или фоновом режиме. Максимально оптимизировать ваш скрипт и избавить его от «лишних движений» помогают горячие клавиши. Поговаривают, что удачно созданные в Clickermann сценарий выполняет до 50% типичной офисной работы вместо сотрудника или «фармит» валюту в простых браузерных игрушках с эффективностью рядового пользователя.

Характеристики Clickermann:

  • Компактность и портативность, приложение не требует установки;
  • Русский язык интерфейса позволяет быстро самостоятельно разобраться с управлением;
  • Записанные действия воспроизводятся неограниченное количество раз по требованию;
  • Доступен ручной режим создания и автоматическое отслеживание мыши клавиатуры;
  • В свободном доступе можно не только скачать кликер, но и найти адаптированные скрипты от сторонних разработчиков.

AutoClickExtreme – полезная утилита от отечественных разработчиков. На стороне приложения понятный интерфейс и прекрасная функциональность. Программа способна записывать скрипты действий как в ручном, так и в автоматическом режиме, у неё масса настроек и различных полезных фишек.

Решение было бы идеальным, но разработчики перестали активно выпускать обновления и не занимаются рекламой, поэтому популярность утилиты не растет. Агитацию за покупку лицензии ради получаса бесплатного разговора с техподдержкой по Скайпу, согласитесь, трудно назвать грамотным маркетинговым ходом.

Основные преимущества AutoClickExtreme:

  • Легкий интерфейс пользователя, простой сценарный язык;
  • Нажатия клавиш и движения мыши программа улавливает без пропусков;
  • Можно как вручную записывать действия, так и отслеживать их автоматически;
  • Отлично реализованы хоткеи с возможностью настроить комбинации клавиш;
  • К вашим услугам множество регулируемых параметров работы;
  • Планировщик позволяет запускать скрипт и повторять его в любое время;
  • Стоимость утилиты более чем демократична.

Этот автоматический кликер призван упростить работу за компьютером. Он позиционируется как средство экономии вашего времени, которое можно теперь потратить на более полезные дела.

UoPilot, в отличие от описанных выше утилит, создан, скорее для профессионалов, нежели для рядовых пользователей или геймеров. Здесь нет возможности полноценно записывать действия мыши, клавиатуры и т.д. Создатели утилиты предлагают вручную прописывать места кликов, их количество для правой и левой кнопкой мыши, положение указателя. Интервал между кликами регулируется от миллисекунд до часов по вашему требованию, переменные циклы также поддерживаются.

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

Особенности UoPilot:

  • Функции записи действий с экрана и воспроизведение записи не поддерживаются;
  • Чтобы пользоваться утилитой, необходимо знать принципы написания скриптов;
  • Как и другие кликеры для игры, тонко настраивается по параметрам пользователя;
  • В базе приложения отсутствует планировщик для автоповтора макроса;
  • Последняя версия программы вышла более года назад, обновления отсутствуют.

Спецификации Automatic Mouse and Keyboard:

  • Способна значительно упростить жизнь геймерам – с её помощью часто пишут ботов для онлайн-игр;
  • Умеет как запоминать ваши действия мышкой, клавиатурой, так и воспроизводить написанные в редакторе;
  • Предоставляет завидные возможности по созданию и настройке сценария и его выводу на дисплей;
  • В базе содержит семплы, а также функцию «умного захвата» кликов мышкой;
  • Распространяется на платной основе, отсутствует локализация и версия для Android.

Ghost Mouse - небольшая утилита с «однокнопочным» управлением. Она даже не поддерживает захват клавиатуры, а просто отслеживает действия мышью в разных местах экрана после активации записи сценария. Когда он готов, вам остается нажать на кнопку Play и наблюдать, как программа будет автоматически кликать мышкой через определенный промежуток времени. Все просто и понятно. Для «фарма» валюты в какой-нибудь браузерной «ферме» такое приложение может и подойти, но для более серьезных задач рекомендуем другие автокликеры скачать.

Особенности Ghost Mouse:

  • Очень простой принцип работы программы, примитивный интерфейс;
  • Запись скрипта только в автоматическом режиме отслеживания действий;
  • Доступно управление горячими клавишами, минимум настроек, отличная автоматизация;
  • Поддерживается любая компьютерная игра без ИИ;
  • В числе последних, поддерживается операционная система Windows 7 и 8;
  • Разработчик предлагает Ghost Mouse как урезанную версию платного кликера ReMouse с более обширными возможностями.

Установить автокликер GS Auto Clicker вам предложат почти все топовые сайты с обзорами ПО. Программа популярна и разрекламирована, несмотря на безвозмездное распространение полной версии. Подобно Ghost Mouse, GS Auto Clicker не работает с клавиатурой, но имеет интерфейс ручного добавления сценария. Вы указываете, как нажимать кнопку (двойной или одинарный клик), выставляете позицию указателя на экране и необходимое определенное количество действий. После скрипт должен выполняться в точности, хотя ошибки иногда возникают. Лучше записывайте действия в режиме захвата.

Преимущества GS Auto Clicker:

  • Программа проста в использовании, распространяется полностью бесплатно;
  • «Горячие клавиши» помогают начать запись и закончить её без лишних действий;
  • Автокликер работает со всеми современными платформами, часто обновляется;
  • Сфера применения неограничена – утилита избавит вас от выполнения однообразных действий в играх, приложениях и даже поможет облегчить примитивный заработок в интернете.

Free Mouse Auto Clicker в бесплатной версии не представляет интереса среди своего рода программ. Уж чересчур урезали разработчики возможности продукта, до такой степени, что использовать автокликер почти невозможно. Чтобы имитировать клик, вам придется долго выставлять значения позиции в интерфейсе. Для аматоров это неудобно, а профессионалы обычно выбирают другие подобные программы с нормальной реализацией, где есть удобный редактор скрипта с подсветкой синтаксиса.

Характеристики Free Mouse Auto Clicker:

  • Малый «вес» и низкие системные требования;
  • Сложность в использовании – придется задавать положение курсору мыши только вручную;
  • Доступна установка интервалов повторения клика;
  • Платная версия предоставляет гораздо более полезные функции с лучшей реализацией.

Как видите, виртуальная компьютерная мышь и клавиатура действительно попогают. Можно задать алгоритм, чтобы фармить валюту в простенькой браузерной игре, автоматизировать серфинг, сделать бот для социалок или автоматически вводить какие-либо данные в компьютер без рутинной ручной работы. Эмуляция действий через автокликер - отличный вариант и прежде, чем определить, какая компьютерная программа займет первое место в нашем рейтинге, еще раз кратко охарактеризуем каждую из них.

Clickermann – простой и удобный кликер с дружественным интерфейсом, ручным и автоматическим режимом работы, хорошими показателями надежности. Он бесплатный, но довольно качественный. Единственный недостаток – плохо развит планировщик заданий.

AutoClickExtreme по многим параметрам обходит вышеупомянутого «коллегу» и точно занял бы первую строчку, но Clickermann выигрывает благодаря отсутствию платы за лицензию. В общем, утилита нам очень понравилось, отдать за неё 1000 рублей, если появится необходимость, совсем не жалко.

Automatic Mouse and Keyboard порадует своими возможностями, но цена программы при отсутствии русского явно кусается. Даже если не ставить её, а просто анализировать изображение с менюшкой, становится понятно, что здесь есть все, что необходимо. Утилиту облюбовали геймеры. С её помощью пишут очень качественных фарм-ботов.

UoPilot замыкает список достойных русскоязычных утилит-автокликеров. Она предназначена для профессионалов. Простым юзерам придется попотеть, дабы записать качественный макрос, но попробовать можно. Плату ведь никто не требует. Англоязычный Free Mouse Auto Clicker обладает схожими возможностями, но, как мы уже говорили, в бесплатной редакции они сильно урезаны.

Ghost Mouse и GS Auto Clicker – одного поля ягоды. Это простые и удобные минималистичные приложения с продуманным управлением. Пусть они не поддерживают автоматизированный набор текста и «хромают» в некоторых аспектах (нет планировщика, перевода меню), но все же популярны. Обратите внимание на них, если не желаете долго разбираться с самостоятельным написанием сценариев.

Читайте также: