К основному содержимому
Все коллекцииDolphin AntyКонструктор Сценариев
Конструктор сценариев Dolphin {anty}
Конструктор сценариев Dolphin {anty}
Обновлено более 3 мес. назад

Что такое Конструктор сценариев 🧐

Понять суть процесса можно, представив что каждое действие в браузере (клик, нажатие на кнопку, ввод логина/пароля и т.д.) может быть поручено роботу. Достаточно создать "скрипт" — последовательность действий, которые "робот" выполнит.

Например: нужно, чтобы робот на всех аккаунтах ФБ (а их может быть любое количество) выполнял какое-то действие, к примеру, подтверждение привязки карты. Если бы это делалось вручную, задача заняла бы несколько часов — требуется зайти в каждый профиль, выполнить ряд действий, выйти. Когда аккаунтов много, это превращается в большую трату времени. С этим функционалом можно создать простой скрипт, который выполнит все необходимые действия автоматически 😉

Ознакомление с Конструктором 📖

В основе сценариев лежат возможные повседневные действия, которые обычно занимают много времени во время работы. Создаётся последовательность "действий", которая автоматически выполняется в браузерном профиле.

  • Чтоб перейти в к работе выберем соответствующую вкладку - Сценарии, нажав на иконку в левом меню:

  • Тут сразу предлагается создать свой первый Сценарий нажав кнопку "Создать сценарий"

  • Так же в этом окне будут отображены все ранее созданные Сценарии, их можно Удалить, Копировать или Редактировать.

  • После создания Сценария открывается рабочее поле для создания скрипта с помощью "блоков"

Поле создания Сценария 🛠️


Элементы ⬇️

  • Слева-вверху - зеленая кнопки "Сохранить сценарий" и "Показать логи" чтобы увидеть журнал действий который записывается во время его запуска
    Стоит не забывать нажимать на кнопку сохранения при любом создании\редактировании сценария!

  • Слева находится список всех возможных блоков\действий которые можно перетащить на рабочее поле, либо просто нажать чтобы блок сам появился там.

  • По центру - само рабочее поле на котором можно размещать блоки и связывать их в цепочки\последовательности.

  • По центру снизу находится модуль управления запуском профиля и управлением рабочим пространством:

    1. Возврат действий - можно отменить добавление не нужного блока (стрелочка влево и вправо)

    2. Выбор профиля на который можно сразу применить сценарий, позволяет быстро начать автоматизацию. При выборе Пустого профиля создаётся временный профиль для тестирования сценария (он не сохраняется и используется исключительно для теста, при этом применяет IP-адрес ПК). Готовый сценарий можно также запустить на нескольких выделенных профилях на экране "Браузерные профили".

    3. Пошаговое воспроизведение скрипта - доступна возможность дойти до нужного этапа выполнения, поставить скрипт на паузу или остановить, внести изменения в блок и запустить его повторно.

    4. "3 точки" - Здесь можно выбрать способ запуска профиля:

      • В режиме headless — сценарий выполняется без отображения окна браузера, что удобно при запуске на множестве профилей одновременно, например, 20. Это полезно для задач вроде фарминга ФБ, где нет необходимости видеть все окна браузера.

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

    5. Указатель” и “Выделение”. - используя инструмент “Выделение”, можно передвигать или удалять несколько блоков сразу, а "Указатель" - выбирает блоки по одному.

Действия с блоками ✍🏻

Удаление любых действий (Например: Закрыть вкладку) происходит после двойного нажатия на блок или выбором зажав Shift выбрать сразу несколько блоков, затем для удаления нажать клавишу Del на клавиатуре.


Соединение первого блока с зеленым кругом "Старт"
Это дает понять скрипту, откуда начинается стартовая точка процесса.
Все действия необходимо соединять 🧵Нитью между собой, чтоб Конструктор мог понять последовательность действий.
Нити можно отменить на них и нажав на ❌ или соединить 2 параллельно.
Красная нить - дает возможность выбора. Красная нить это подстраховка, она задаёт другое действие на случай если Зелёная нить не сработала или на сайте появилась проблема и не отобразилась кнопка которую сценарий должен был нажать. Тогда например: сценарий пойдёт по Красной нити что приведёт его до какого-нибудь блока.

Системные переменные

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

  • Browser_profile_id - ID профиля

  • Browser_profile_name - название профиля


Категории блоков ⬇️

Блок Навигация 🧭

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

Например, если первое действие в браузере — это открытие конкретной веб-страницы, достаточно просто указать URL, и робот откроет её автоматически.

  1. Новая вкладка - можно ввести URL адрес который должен открыть конструктор в новой вкладке.
    Этот блок поддерживает "Изменяемый ресурс", подробнее про него будет описано ниже.

  2. Активировать вкладку - выбирает ту в кладку по счёту ,которую вы укажите чтоб переключится для работы в ней.

  3. Закрыть вкладку - можно закрыть как текущую вкладку, так и указать номер вкладки которую нужно закрыть.

  4. Открыть URL - запускает указанную URL на открытой вкладке.

  5. Обновить страницу - обновляет страницу на заранее указанной вкладке.

Изменяемый ресурс 🌠

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

Блок Мышь 🖱

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

Например, после открытия веб-страницы нужно нажать на определённое поле или кнопку для ввода данных. Достаточно указать координаты или элемент страницы, на который бот должен кликнуть.

  1. Клик - Имитация клика мышки

  • Выбор кнопки мыши которую будет использовать cценарий

  • Можно указать Селектор использования или Координаты

​Есть 3 типа Селектора ⬇️

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

Таблицы встречаются на многих веб-страницах, и часто их бывает много на одной странице, каждая из которых может содержать сотни строк. Как сделать селектор для ссылки в ячейке "На согласовании"? Классы могут находиться на верхних уровнях, теги одинаковы, а атрибутов вовсе нет. XPath отлично справляется с этой задачей благодаря своим функциям и возможности полнотекстового поиска. Например:

//[contains(.,'Сделки')]//td[contains(.,'На согласовании')]//a

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

К тому же XPath демонстрирует гибкость. Если в примере выше множество записей будет содержать "Закупки", можно добавить номер закупки как дополнительное условие, например, следующим образом:

//*[contains(.,'Сделки')]//tr[contains(.,'Закупка 4')]//td[contains(.,'На согласовании')]//a


Получить XPath на странице в браузере можно следующим образом: нажать клавишу CTRL+Shift+C (или на Mac — CMD+Shift+C), затем выбрать нужный элемент на странице и щёлкнуть по нему. После этого выделится код нужного элемента с которого можно скопировать путь в формате XPath


CSS - это выбор элемента через его значение в таблице стилей. Более удобный и часто используемый селектор. Подробнее


Текст - упрощённая версия перечисленных выше так как просто выбирает элемент через текст на указанной странице

  • Координаты - суть в эмулировании клика мыши по указанным координатам. Координаты можно легко найти используя простое расширение для хрома и установить его по нашей инструкции.

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

2 . Движение мышки - работает по такой же схеме как и координаты.

3. Прокрутка - имитирует прокрутку колеса мыши на странице до определённой координаты. (указать скорость прокрутки возможности нет).

Блок Клавиатура ⌨️

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

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

  • Нажать клавишу - указывается клавишу которую нужно нажать в определённой области.

  • Напечатать текст - указывается текст который нужно напечатать в определённой области.

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

Блок Данные 🗂

Данные — один из самых важных блоков.

Большинство действий в браузере связано с взаимодействием с данными на веб-странице. Например, нужно сохранить данные от всех карт и затем автоматически подставлять их в каждый аккаунт. Или загрузить креативы для рекламной кампании из конкретной папки на компьютере. Возможно, необходимо скачать смешной мем и отправить его бабушке 😁. Указав папку, откуда креативы будут загружаться в каждый рекламный кабинет, можно автоматизировать этот процесс с помощью нашего функционала. В дальнейшем будут даны подробные инструкции по правильному использованию действий из этого блока.

  • Элемент существует - использует принцип селектора как описано в блоке "Клик".

  • Получить URL - ссылка записывается в переменную и дальше её можно сохранить, например в файл.

  • Получить текст - эта функция копирует текст с указанной области и создаёт под неё переменную, по которой в дальнейшем можно вставить текст в Напечатать текст или в любую другую подобную функцию.
    Этот блок поддерживает Изменяемый ресурс

  • Получить значение атрибута value - этой функцие можно получить значение с сайта именно из элемента value. Функция выбирает первую строку с атрибутом <value> и записывает её в переменную.

  • Получить значение атрибута - тут можно указать любой атрибут, какие бываю виды атрибутов можно узнать тут. В html есть атрибуты, к примеру: <div class="abcd">text element</div> class это атрибут, а abcd это его значение. Тоже полезный метод чтобы чтоб получить информацию из указанного элемента.

  • Рандом - делает рандомный текст (Email,Полное имя, Рандомные буквы, Пароль, Имя, Фамилию, Число) в указанном поле.

  • Загрузка файлов - загрузить файл на сайт, например аватарку.
    Важно что нужно найти элемент input с типом file (<input type="file" />) и копируем его в формате XPath (для примера). Это может выглядеть так //*[@id="add_files_btn"], обычно в загрузчиках большая кнопка Загрузить на самом деле ничего не делает, кроме как нажимает на настоящий загрузчик input type=file.
    Этот блок поддерживает Изменяемый ресурс

  • Прочитать файл - эта функция читает файл с жёсткого диска. Это нужно для того, чтобы например вытащить текст из файла на ПК и вставить его в какое-нибудь поле ввода на сайте.
    Этот блок поддерживает Изменяемый ресурс

  • Запись файла - сохраняет данные из указанной переменной в указанный файл (доступные форматы - TXT, CSV, JSON, DOCX, DOC, XLSX). Например : Получить текст со страницы указав XPath и создав под него переменную - Запись файла (указать путь к файлу в который будет идти запись, например в TXT файл и нужно выбрать режим записи)
    Этот блок поддерживает Изменяемый ресурс

  • HTTP - создаёт запросы, например так можно сделать интеграцию с телеграмм или с смс-сервисом или менять IP на мобильных прокси через ссылку.

  • Создать переменную - буквально, создаёт переменную и присваивает ей значение. Так же при создании ещё однй переменной с одинаковым названием можно изменять её значение.
    Этот блок поддерживает Изменяемый ресурс

  • Спинтакс - это текстовый синтакс, который выглядит так:
    {Здравствуйте|Добрый день}! Надеюсь, у вас {хорошее|отличное} настроение! {{Спасибо и|Желаю} прекрасного дня|Удачи|Пока}!
    Он используется для создания случайного текста из набора вариантов. Для примера, спинтакс выше может сгенерировать следующий текст: «Добрый день! Надеюсь, у вас отличное настроение! Желаю прекрасного дня!» и будет каждый раз разным, с 16 возможными вариациями.
    Этот блок поддерживает Изменяемый ресурс

  • Получить номер телефона - используется вместе с функцией Проверить SMS-код, создаёт номер телефона через сервис sms-activate.org на который затем придёт SMS-код для подтверждения личности на сайте.
    Этот блок поддерживает Изменяемый ресурс

  • Проверить SMS-код - получение кода на номер созданном в функции описанной выше. Нужно указать токен доступа с сайта sms-activate.org. Мы рекомендуем подождать минимум 20 секунд перед проверкой кода (установить Паузу), чтобы он успел прейти и проверять код не чаще одного раза в 5 секунд, чтобы избежать блокировки на sms-activate.org
    Этот блок поддерживает Изменяемый ресурс, подробнее про него тут.

  • Решить капчу - Бот (сервис rucaptcha.com) проходит капчу за пользователя.
    Есть 2 вариант капчи:

    • Текстовая капча: достаточно указать селектор, по которому определяется расположение капчи (изображение с текстом). Далее необходимо задать имя выходной переменной, добавить кнопку клика для поля ввода текста капчи, а затем использовать функцию "Напечатать текст", введя переменную, которая была записана в выходной переменной в блоке "Решить капчу".

    • Капча с картинками от Google ReCaptcha (V2): достаточно указать селектор для определения расположения капчи и добавить кнопку клика, чтобы нажать, например, "ОК" или "Пройти" (в зависимости от сайта). После этого можно продолжить выполнение скрипта.

Важно! Нужно быть зарегистрированным и иметь средства на счёте на сайте rucaptcha.com прохождение капчи, без этого функцией воспользоваться не получится. На этом сайте вы получите токен доступа его вы уже вставляете в советующее поле Антикапча: онлайн сервис для распознавания, обхода и автоматического решения капча rucaptcha.com token. Этот блок поддерживает Изменяемый ресурс

Блок Dolphin{anty} 🐬

Этот блок предназначен для взаимодействия с функциями антика снаружи профиля.

  • Статус профиля - устанавливает Статус для браузерного профиля, можно установить на любом этапе, Например после залива или выполнения нужного действия полностью, можно указать статус “Готово”.

  • Заметки профиля - устанавливает Заметку для браузерного профиля, можно установить на любом этапе. Например перед началом фарма, можно записать в заметку “логин и пароль аккаунта FB”.

Блок Другое 🌌

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

  • Пауза - cоздаёт задержку перед выполнением следующего блока, имитируя поведение реального пользователя.
    Например: может понадобиться дождаться появления кнопки на странице или получить СМС-код от сайта.

  • Условие - если указанное условие True (Верно), то действие идёт по зелёной нити. Если False, то есть нет - по красной. Например: необходимо найти страницы Instagram, которые выкладывают много постов. Для этого, после того как в скрипте подсчитано количество фотографий на странице, создаётся блок "Условие" со следующим условием: КоличествоФотографий > 5. Если значение переменной "КоличествоФотографий" будет больше пяти (например, 6, 10, 49), сценарий продолжится по зелёной ветке. Если же значение переменной будет меньше или равно пяти (например, 1, 4, 5, -20), сценарий пойдёт по красной ветке.

  • Выполнение - можно ввести свой любой JS код и он выполнится.

  • Цикл Foreach - выполняется для каждого элемента массива (массив можно получить только через функцию Прочитать файл)
    Например: В файле указаны три поисковых запроса, и задача состоит в том, чтобы открыть три вкладки Google с результатами поиска для этих данных. В блоке "Прочитать файл" указывается файл с данными по строкам:
    1
    2
    3
    Далее, в цикле указывается выходная переменная из блока "Прочитать файл" и создаётся переменная для одного элемента, например, element. В действии "Новая вкладка" указывается URL https://google.com?q=${element}, где

    ?q=${element} — это использование переменной для одного элемента из цикла. После выхода из цикла указываются два пути, которые ведут к одному действию. После этого можно продолжить любое необходимое действие. Важно отметить, что при использовании строк в блоке "Прочитать файл", строки обрабатываются с конца текста.

  • Цикл While - проверяет условие перед каждой итерацией. Если условие выполняется то проходит по красной нити, если не выполняется то по зелёной.
    Например: для фарма нужно открыть 4 отдельных, но одинаковых вкладки и найти рандомные данные в них, например Имена. После окончания произойдёт выход из цикла и продолжит указанные действия дальше.

  • Цикл For - проверяет условие перед каждой итерацией, выполняется столько раз сколько нужно, например 5 раз подряд. То есть в самом цикле нужно выставить значение от 1 до 5 и затем зациклить само действие Загрузку файла и указать вывод из цикла на дальнейшие действия.

Что такое циклы Foreach, While и For и чем они отличаются можно узнать здесь.

  • Добавить комментарий - создаёт на рабочем поле окно для комментариев, которые можно указать рядом с нужным блоком.

  • Стоп - Закрывает браузерный профиль после выполнения всех указанных действий. Для Стопа нужно выставлять Красную нить.

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

Мой первый Скрипт 😎

В качестве примера давайте рассмотрим кликер для биткоин крана https://freebitco.in/ . Пока всё что требуется от скрипта - раз в час нажимать на кнопку Roll - и на аккаунт будет начисляться сатоши. В этом случае капчу проходить не нужно, кнопка просто доступна для активации раз в час.

Стоит подчекрнуть - это всего лишь пример, но информацию из этой статьи можно применять для создания любых других скриптов.
  1. Сначала добавляем действие Открыть URL. Нужно нажать на него, скопировать адрес из адресной строки браузера целиком (https://freebitco.in/).

2. Соединить первый блок с зеленым кругом Старт.

  • В данный момент скрипт уже можно запустить - и увидеть, как после загрузки браузера автоматически откроется новый URL с введенным вами адресом.

Можно запустить скрипт как на "пустой" браузерной копии, так и выбрать из списка один из своих профилей.

4. При попадании на сайт, будучи неавторизованным, через пару секунд появляется всплывающее окно - от которого можно избавиться если кликнуть левой кнопкой мыши в любом месте за пределами этого поп-апа. Добавим действия Пауза и после него Клик.

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

Для того чтобы сделать клик, можно выбрать опцию "левая кнопка" и "координаты". Координаты в это случае можно ввести случайные (Y150 X150), главное чтобы клик был совершен за пределами всплывающего окна и оно пропало.

Определить координаты можно самим сами с помощью сторонних расширений.

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

Необходимо кликнуть на поле имейла, ввести там логин/имейл, затем кликнуть на поле с паролем, ввести пароль, а затем кликнуть на кнопку авторизации. Итого получилось 5 блоков действий.

Для того чтобы робот кликнул определенный элемент, необходимо указать какой именно. Может случиться так, что не всегда элемент будет находиться в одном и том же месте, поэтому координаты не помогут. Будем использовать селектор "xpath" - для этого можно заранее его скопировать из браузерной консоли.

Копируем Xpath элемента в действие "клик" в конструкторе, и он нажмет именно на это поле.

Поле активировалось, и нам нужно ввести нашу почту. Выбираем действие Напечатать текст и вводим в нем почту.

Аналогичные действия проводим с полем пароля. Выбираем Xpath элемент кнопки Sign Up, и попадаем на главную страницу.

Также не всегда Xpath элемент может быть постоянным - в качестве альтернативы можно использовать опцию CSS или Текст (указывается элемент который содержит введенный текст). Всё это также можно увидеть через браузерную консоль.

6. Теперь к главной странице. Всё что нужно сделать - нажать кнопку Roll, и будет выполнено нужное действие. Снова выбираем блок "Клик", копируем Xpath кнопки Roll, cоединяем с предыдущим действием и вуаля - кнопка нажата.

Подобным образом можно автоматизировать еще множество действий - наверняка есть и другие подобные кейсы. Но если возникнут вопросы - всегда можно обратится в нашу техническую поддержку на сайте\в приложении или написать через телеграм @dolphinsupport_bot

Нашли ответ на свой вопрос?