← Browser Run / browser-run / cdp
Управление сессиями (HTTP)
Используйте HTTP API для управления сеансами браузера и вкладками без WebSocket-соединений. Это удобно для операций жизненного цикла сеанса, таких как создание сеансов, получение списка вкладок и очистка ресурсов.
Прежде чем начать, создание пользовательского API Token с Browser Rendering - Edit разрешение.
Справочник по API описывает все эндпоинты управления сессиями в /devtools.
Шаг 1. Получите сессию браузера
Создайте новую сессию браузера с помощью POST /devtools/browser эндпоинт. Сессия будет оставаться активной в течение заданного времени поддержания активности (в этом примере, 10 минут).
curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser?keep_alive=600000" \
--request POST \
--header "Authorization: Bearer {api_token}"{
"sessionId": "1909cef7-23e8-4394-bc31-27404bf4348f",
"webSocketDebuggerUrl": "wss://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f"
}Сохраните sessionId из ответа. Используйте его в последующих запросах.
Шаг 2. Создайте вкладку с определённым URL
Откройте новую вкладку в сессии браузера и перейдите по определённому URL с помощью PUT /devtools/browser/{session_id}/json/new конечная точка.
curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/new?url=https%3A%2F%2Fexample.com" \
--request PUT \
--header "Authorization: Bearer {api_token}"{
"id": "8E598E996530FB09E46A22B8B7754F7F",
"type": "page",
"url": "https://example.com",
"title": "Example Domain",
"description": "",
"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
}Шаг 3. Выведите список всех targets
Получите список всех целей (вкладок) в сеансе, чтобы убедиться, что вкладка создана, и получить devtoolsFrontendUrl.
curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/list" \
--request GET \
--header "Authorization: Bearer {api_token}"[
{
"id": "8E598E996530FB09E46A22B8B7754F7F",
"type": "page",
"url": "https://example.com",
"title": "Example Domain",
"description": "",
"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
}
]Шаг 4. Откройте интерфейс DevTools
Скопируйте devtoolsFrontendUrl из ответа и откройте его в Chrome. Этот URL обеспечивает прямой доступ к интерфейсу Chrome DevTools, подключённому к вашей удалённой сессии браузера.
После открытия загрузится интерфейс DevTools, и вы сможете:
- Просмотр DOM и CSS
- Отладка JavaScript с помощью точек останова
- Мониторинг сетевых запросов
- Просмотр сообщений консоли
- Выполнение JavaScript в консоли
- Переход по разным URL-адресам
Шаг 5. Очистка
Когда работа завершена, закройте сессию браузера, чтобы освободить ресурсы.
curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID" \
--request DELETE \
--header "Authorization: Bearer {api_token}"{
"status": "closing"
}Устранение неполадок
Если у вас есть вопросы или возникла ошибка, см. Часто задаваемые вопросы и руководство по устранению неполадок Browser Run.