Перейти к основному содержимому

Пример автоматизации Playwright

Playwright — это мощная библиотека с открытым исходным кодом для автоматизации веб-браузеров, которая позволяет выполнять такие задачи, как навигация, заполнение форм и извлечение данных. В сочетании с Indigo X она позволяет управлять и автоматизировать профили браузера Mimic для продвинутых сценариев веб-скрейпинга и тестирования.

В этом руководстве мы рассмотрим настройку Playwright для автоматизации профиля браузера Mimic с использованием JavaScript и Python. Вы узнаете, как аутентифицироваться в Indigo X, запустить профиль браузера и выполнить базовые задачи автоматизации.

к сведению

Playwright для Stealthfox пока не доступен в Indigo X. Убедитесь в совместимости Playwright с версией ядра Mimic, проверив примечания к выпуску.

Предварительные требования

Перед началом убедитесь, что у вас есть следующее:

JavaScript

  • Node.js: Скачайте и установите с официального сайта.
  • Проверьте установку:
    node -v
    npm -v
  • Учетная запись Indigo X с вашим email, password, folder_id и profile_id (найдите их с помощью DevTools или Postman).
  • Настройка проекта:
    mkdir playwright-indigo
    cd playwright-indigo
    npm init -y
    npm install playwright axios md5

Python

  • Python 3.x: Убедитесь, что он установлен.
  • Необходимые библиотеки:
    pip install requests playwright
    playwright install
  • Учетная запись Indigo X с вашим USERNAME, PASSWORD, FOLDER_ID и PROFILE_ID.
подсказка

Убедитесь, что агент Indigo X подключен, чтобы включить запуск профиля.

Рабочий процесс автоматизации

Процесс автоматизации включает:

  1. Аутентификацию в Indigo X для получения токена.
  2. Запуск профиля браузера Mimic через API Indigo X.
  3. Подключение Playwright к профилю браузера.
  4. Выполнение действий, таких как переход на веб-страницу и создание скриншота.

Ниже приведены примеры скриптов для JavaScript и Python.

Примеры скриптов

Пример на JavaScript

Этот скрипт аутентифицируется в Indigo X, запускает профиль браузера Mimic и автоматизирует простую задачу с использованием Playwright.

const { chromium } = require('playwright');
const md5 = require('md5');
const axios = require('axios');

const HEADERS = {
"Content-Type": "application/json",
"Accept": "application/json",
};

const acc_info = {
email: "YOUR_EMAIL", // Замените на ваш email Indigo X
password: md5("YOUR_PASSWORD"), // Замените на ваш пароль
};

const folder_id = "YOUR_FOLDER_ID"; // Замените на ваш ID папки
const profile_id = "YOUR_PROFILE_ID"; // Замените на ваш ID профиля

async function get_token() {
const signIn_URL = "https://api.indigobrowser.com/user/signin";
try {
const response = await axios.post(signIn_URL, acc_info, { headers: HEADERS });
return response.data.data.token;
} catch (error) {
console.error("Ошибка:", error.message);
console.error("Данные ответа:", error.response?.data);
return false;
}
}

async function start_browserProfile() {
const token = await get_token();
if (!token) return;

HEADERS.Authorization = `Bearer ${token}`;
const profileLaunch_URL = `https://launcher.indigobrowser.com:45011/api/v2/profile/f/${folder_id}/p/${profile_id}/start?automation_type=playwright&headless_mode=false`;

try {
const response = await axios.get(profileLaunch_URL, { headers: HEADERS });
const browserURL = `http://127.0.0.1:${response.data.data.port}`;
const browser = await chromium.connectOverCDP(browserURL, { timeout: 10000 });
const context = browser.contexts()[0];
const page = await context.newPage();
await page.goto("https://indigobrowser.com/");
await page.screenshot({ path: "example.png" });
await page.close();
} catch (error) {
console.error("Ошибка:", error.message);
console.error("Данные ответа:", error.response?.data);
}
}

start_browserProfile();

Запуск скрипта

  1. Сохраните скрипт как index.js.
  2. Убедитесь, что агент Indigo X запущен.
  3. Запустите скрипт:
    node index.js

Детали конфигурации

ПеременнаяОписаниеКак найти
email / USERNAMEВаш email учетной записи Indigo XНастройки вашей учетной записи
password / PASSWORDВаш пароль учетной записи Indigo X (хэшированный MD5 для API)Настройки вашей учетной записи
folder_id / FOLDER_IDID папки, содержащей профиль браузераИспользуйте DevTools или Postman
profile_id / PROFILE_IDID конкретного профиля браузераИспользуйте DevTools или Postman)

Устранение неполадок

предупреждение
  • Убедитесь, что агент Indigo X подключен перед запуском скрипта.
  • Проверьте совместимость Playwright с версией ядра Mimic в примечаниях к выпуску.
  • Если аутентификация не удалась, дважды проверьте ваш email/USERNAME и password/PASSWORD.
  • При сетевых ошибках убедитесь, что конечные точки API Indigo X (api.indigobrowser.com и launcher.indigobrowser.com) доступны.