Быстрый старт: Подключение
В этой главе на примере простого скрипта показано, как запустить указанную среду Mbbrowser и получить над ней контроль через код.
Практический скрипт
Пожалуйста, создайте файл с именем start.js и скопируйте в него следующий код:
javascript
const puppeteer = require('puppeteer-core');
const axios = require('axios'); // Убедитесь, что выполнили: npm install axios
async function startProject() {
// 1. Настройка параметров конфигурации
const API_URL = 'http://127.0.0.1:8186'; // Адрес ApiServer
const SESSION_ID = '373808cb37bd63f5f7d92415e736e85f'; // ID вашей среды
try {
// 2. Вызов интерфейса Mbbrowser для запуска среды
console.log('Запуск среды Mbbrowser...');
const response = await axios.post(`${API_URL}/api/v1/browser/start`, {
Session_ID: SESSION_ID
});
if (response.data.code === 0) {
// 3. Получение адреса WebSocket-подключения
const wsEndpoint = response.data.data.ws;
console.log('Среда успешно запущена, перехват управления...');
// 4. Использование Puppeteer для подключения к этой среде
const browser = await puppeteer.connect({
browserWSEndpoint: wsEndpoint,
defaultViewport: null // Использовать размер окна браузера по умолчанию
});
// 5. Открытие новой страницы и навигация
const page = await browser.newPage();
await page.goto('https://www.mbbrowser.com', { waitUntil: 'networkidle2' });
console.log('Заголовок текущей страницы:', await page.title());
// 6. Отключение после завершения операции (среда остается запущенной, если не вызвать интерфейс stop)
await browser.disconnect();
console.log('Операция автоматизации завершена!');
} else {
console.error('Ошибка запуска среды:', response.data.message);
}
} catch (error) {
console.error('Ошибка подключения:', error.message);
}
}
startProject();Разбор ключевых концепций
axios.post: Сначала отправляется запрос к ApiServer для открытия среды. Если среда не запущена, Puppeteer будет не к чему подключаться.wsEndpoint: Это «уникальный ключ», возвращаемый при успехе. Puppeteer использует этот адрес для входа внутрь браузера.puppeteer.connect: Обратите внимание, что используетсяconnect(подключение к существующему браузеру), а неlaunch(запуск нового браузера). Это ключевое отличие в автоматизации антидетект-браузеров.browser.disconnect: Рекомендуется отключаться по завершении работы скрипта. Таким образом, даже если выполнение скрипта закончится, окно браузера обычно остается на рабочем столе, что позволяет проводить наблюдения или ручные операции.
TIP
Освоили перехват управления средами? В следующей главе Справочник основных API вы узнаете, как заставить браузер выполнять более сложные команды.
