← Browser Run / browser-run
Chrome DevTools Protocol (CDP)
/devtools эндпоинты предоставляют возможности управления сессиями в соответствии с Chrome DevTools Protocol (CDP) ↗. Эти конечные точки позволяют создавать постоянные сеансы браузера, управлять несколькими вкладками и взаимодействовать с браузером с помощью команд CDP. Это полезно для сложной автоматизации, отладки и удалённого управления браузером.
Эндпоинты CDP доступны из любой среды, поддерживающей WebSocket-соединения, включая локальные машины разработчиков, внешние серверы и конвейеры CI/CD. Это значит, что подключиться к Browser Run можно из скриптов Node.js, а также из Puppeteer, Playwright и любого другого клиента, совместимого с CDP.
Прежде чем начать, создание пользовательского API Token с Browser Rendering - Edit разрешение.
Что такое CDP?
Chrome DevTools Protocol (CDP) представляет собой протокол удалённой отладки, который позволяет инструментировать, исследовать, отлаживать и профилировать браузеры на основе Chromium. Тот же протокол использует Chrome DevTools для управления браузером и наблюдения за ним. Популярные библиотеки автоматизации браузера, такие как Puppeteer и Playwright, предоставляют высокоуровневые API поверх Chrome DevTools Protocol, что упрощает автоматизацию типовых задач.
Сценарии использования
Эндпоинты сессий браузера позволяют:
- Создание и управление постоянными сессиями браузера : Запуск экземпляров браузера, которые остаются активными в течение длительного времени
- Открытие, закрытие и получение списка вкладок браузера (targets) : Управление несколькими отлаживаемыми целями (страницами, iframe и т. д.) в рамках одного экземпляра браузера
- Подключение через WebSocket для отправки команд CDP : Автоматизация действий браузера программным способом
- Просмотр активных сеансов браузера с помощью интерфейса Chrome DevTools : Визуальная отладка и проверка удалённых сеансов браузера
- Интеграция с существующими клиентами CDP : Используйте стандартные CDP-клиенты, такие как Puppeteer, или собственные реализации WebSocket
Как это работает
После получения сессии браузера с ней можно взаимодействовать двумя способами:
CDP через WebSocket
Подключитесь к эндпоинту WebSocket /devtools/browser чтобы получить сессию и отправить Команды CDP ↗ напрямую через это соединение. Это стандартный способ использования CDP, который работает с любым CDP-клиентом, включая Puppeteer, Playwright, а также MCP-клиенты.
HTTP API
Для управления жизненным циклом браузера без использования WebSocket также доступны HTTP-эндпоинты. Они соответствуют стандартному HTTP-эндпоинты CDP ↗:
- Создать сессию,
POST /devtools/browser - Список вкладок,
GET /devtools/browser/{session_id}/json/list - Создать вкладку,
PUT /devtools/browser/{session_id}/json/new - Закрыть вкладку,
DELETE /devtools/browser/{session_id}/json/close/{target_id} - Закрыть сессию,
DELETE /devtools/browser/{session_id}
Проверьте Справочник по API с полным списком конечных точек.
Устранение неполадок
Если у вас есть вопросы или возникла ошибка, см. Часто задаваемые вопросы и руководство по устранению неполадок Browser Run.