INTEGRITY Документация

Использование с Playwright (CDP)

Вы можете использовать Playwright ↗ чтобы подключаться к сессиям Browser Run из любой среды Node.js и программно автоматизировать задачи браузера через CDP. Это полезно для скриптов, которые выполняются на локальной машине, в CI/CD-пайплайнах или на внешних серверах.

Прежде чем начать, создание пользовательского API Token с 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:

  1. WebSocket-эндпоинт - browserWSEndpoint URL-адрес получает новый сеанс браузера и подключается к нему через WebSocket
  2. Аутентификация - Authorization заголовок с вашим API-токеном подтверждает подлинность запроса
  3. Keep-alive - keep_alive параметр (в миллисекундах) задаёт, как долго сессия остаётся активной
  4. Playwright API - после подключения вы управляете браузером с помощью стандартного API Playwright

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

Если у вас есть вопросы или возникла ошибка, см. Часто задаваемые вопросы и руководство по устранению неполадок Browser Run.