APIБазовая Автоматизация Dolphin {anty}

Базовая Автоматизация Dolphin {anty}

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

Браузерные профили на базе движка Anty поддерживают запуск с включением DevTools Protocol. Это позволяет подключаться к профилю через сгенерированный при старте порт и автоматизировать работу браузера с помощью инструментов, таких как Puppeteer, Playwright, Selenium и других.

Таким образом, базовая автоматизация включает три основных шага:

  1. Запустить профиль через API со включенным DevTools Protocol
  2. Подключиться к порту профиля с помощью инструмента автоматизации (Puppeteer, Playwright, Selenium, Postman и пр.)
  3. Запустить свой собственный скрипт автоматизации через открытое соединение

ℹ️ Для работы c автоматизацией Dolphin{anty} - он должен быть запущен и авторизован. Авторизоваться можно как с помощью логина и пароля, так и программным запросом с помощью токена.

Создать токен можно в личном кабинете.

Параметры запроса для авторизации с использованием токена:

Чтобы не возникала ошибка 401, обязательно нужно отправлять запрос Метод: POST URL: http://localhost:3001/v1.0/auth/login-with-token Заголовок: Content-Type: application/json Тело запроса:

{ "token": "API_TOKEN"}

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

ChromeDriver ⬇️

Это мост между скриптом (например, Selenium) и браузером Dolphin{anty}. Стандартный драйвер выдает автоматизацию, поэтому мы выпускаем собственный модифицированный драйвер для каждой версии браузера.

Скачать ChromeDriver

Примеры запроса на авторизацию ⚙️

✅ При удачном выполнении будет отображаться ответ:

{"success": true}

Шаг 1. Старт профиля через API ▶️

URL запроса

Для старта браузерного профиля через API необходимо послать GET-запрос:

​http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1

Так же профиль можно запустить в headless mode:

​http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/start?automation=1&headless=1​
  1. PROFILE_ID - ID браузерного профиля. Узнать ID профиля можно путем запроса списка профилей через API или через приложение Dolphin{аnty} в правом верхнем углу при редактировании профиля
  2. automation=1 - обязательный параметр для автоматизации

Пример запуска с помощью Postman через отправку запроса:

⚠️ Важные моменты

  1. Локальный API работает только при запущенном Dolphin{anty}
  2. Запросы нужно посылать с ПК, на котором запущен браузер
  3. На данный момент локальный API работает всегда на 3001 порту, если 3001 порт занят - то занимается другой. Его можно посмотреть в окне Здоровья / Health которое открывается в нижней строке Dolphin{anty}
  4. На бесплатном тарифе не будет работать эскпорт и импорт куки через API запрос из-за того что отсутствует синхронизации профилей в облако

Ответ API ✅

Если профиль был запущен успешно, то в ответ придет примерно следующая структура (значения полей port и wsEndpoint могут быть разными):

{
 "success": true,
  "automation": {
    "port": 50568,
    "wsEndpoint": "/devtools/browser/c71c1a9d-f07c-4dd9-84a9-53a4c6df9969" }}​

Шаг 2. Подключение к профилю 🔌

Puppeteer

Puppeteer — популярная библиотека от Google для автоматизации и тестирования интерфейсов в браузере. Изначально создана для автозапуска браузера и проверки UI-элементов, но позволяет выполнять почти любые действия на веб-страницах, что делает её универсальной для автоматизации. Требует знаний JavaScript/Node.js.

Playwright

Playwright vs Selenium: What are the Main Differences and Which is Better?  - Applitools
Playwright vs Selenium: What are the Main Differences and Which is Better? - Applitools

По сути говоря, Playwright - более свежий и современный аналог Puppeteer. Разрабатывается Microsoft. Имеет схожий функционал и синтаксис.

Selenium

Подключение Selenium к запущенному браузеру описано в этой статье. Стоит упомянуть что Selenium использует стандартный ChromeDriver, но сайты могут распознать автоматизацию, по этому рекомендуем использовать наш ChromeDriver — скачать его и указать путь в коде, чтобы скрыть работу Selenium.

Шаг 3. Остановка профиля через API ⛔️

Для остановки браузерного профиля через API необходимо послать GET-запрос:

 http://localhost:3001/v1.0/browser_profiles/PROFILE_ID/stop