← Browser Run / browser-run / cdp
Использование с Playwright (CDP)
Вы можете использовать Playwright ↗ чтобы подключаться к сессиям Browser Run из любой среды Node.js и программно автоматизировать задачи браузера через CDP. Это полезно для скриптов, которые выполняются на локальной машине, в CI/CD-пайплайнах или на внешних серверах.
Прежде чем начать, создание пользовательского API Token с Browser Rendering - Edit разрешение.
Предварительные требования
- Node.js, установленный на вашем компьютере
- Аккаунт Cloudflare с включённым Browser Run
- Токен API Browser Run с
Browser Rendering - Editразрешения
Установите Playwright
Установите playwright-core пакет (версия без встроенных браузеров):
npm i playwright-coreПодключение к Browser Run
Следующий скрипт показывает, как подключиться к сеансу Browser Run, перейти на страницу, извлечь заголовок и сделать снимок экрана.
Создайте файл с именем script.js:
const { chromium } = require("playwright-core");
const ACCOUNT_ID = process.env.CF_ACCOUNT_ID || "<ACCOUNT_ID>";
const API_TOKEN = process.env.CF_API_TOKEN || "<API_TOKEN>";
const browserWSEndpoint = `wss://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/browser-rendering/devtools/browser?keep_alive=600000`;
async function main() {
const browser = await chromium.connectOverCDP(browserWSEndpoint, {
headers: {
Authorization: `Bearer ${API_TOKEN}`,
},
});
const context = browser.contexts()[0];
const page = context.pages()[0] || (await context.newPage());
await page.goto("https://developers.cloudflare.com");
const title = await page.title();
console.log(`Page title: ${title}`);
await page.screenshot({ path: "screenshot.png" });
await browser.close();
}
main().catch(console.error);Замените ACCOUNT_ID с ID вашего аккаунта Cloudflare и API_TOKEN с помощью токена API Browser Run или задайте их как переменные окружения:
export CF_ACCOUNT_ID="<ACCOUNT_ID>"
export CF_API_TOKEN="<API_TOKEN>"Запустите скрипт
node script.jsВы должны увидеть, что заголовок страницы выведен в консоль, а скриншот сохранён как screenshot.png.
Как это работает
Скрипт подключается напрямую к Browser Run через WebSocket по протоколу CDP:
- WebSocket-эндпоинт -
browserWSEndpointURL-адрес получает новый сеанс браузера и подключается к нему через WebSocket - Аутентификация -
Authorizationзаголовок с вашим API-токеном подтверждает подлинность запроса - Keep-alive -
keep_aliveпараметр (в миллисекундах) задаёт, как долго сессия остаётся активной - Playwright API - после подключения вы управляете браузером с помощью стандартного API Playwright
Устранение неполадок
Если у вас есть вопросы или возникла ошибка, см. Часто задаваемые вопросы и руководство по устранению неполадок Browser Run.