INTEGRITY Dokumentace

Používání s Puppeteer (CDP)

Můžete použít Puppeteer ↗ pro připojení k relacím Browser Run z libovolného prostředí Node.js a programové automatizaci úloh v prohlížeči přes CDP. To se hodí pro skripty běžící na vašem lokálním počítači, v pipeline CI/CD nebo na externích serverech.

Než začnete, vytvoření vlastního API Tokenu hodnotou Browser Rendering - Edit oprávnění.

Předpoklady

Nainstalujte Puppeteer

Nainstalujte puppeteer-core balíček (verze bez zabudovaného Chrome):

npm i puppeteer-core

Připojte se k Browser Run

Následující skript ukazuje, jak se připojit k relaci Browser Run, přejít na stránku, získat její název a pořídit snímek obrazovky.

Vytvořte soubor s názvem script.js:

const puppeteer = require("puppeteer-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 puppeteer.connect({
		browserWSEndpoint,
		headers: {
			Authorization: `Bearer ${API_TOKEN}`,
		},
	});

	const page = await browser.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);

Nahraďte ACCOUNT_ID s ID vašeho účtu Cloudflare a API_TOKEN s vaším tokenem Browser Run API, nebo je nastavte jako proměnné prostředí:

export CF_ACCOUNT_ID="<ACCOUNT_ID>"
export CF_API_TOKEN="<API_TOKEN>"

Spusťte skript

node script.js

V konzoli byste měli vidět vypsaný název stránky a snímek obrazovky uložený jako screenshot.png.

Jak to funguje

Skript se připojuje přímo k Browser Run přes WebSocket pomocí protokolu CDP:

  1. Koncový bod WebSocket - browserWSEndpoint URL adresa získá novou relaci prohlížeče a připojí se k ní přes WebSocket
  2. Ověřování - Authorization hlavička s vaším API tokenem ověřuje požadavek
  3. Keep-alive - keep_alive parametr (v milisekundách) určuje, jak dlouho relace zůstává aktivní
  4. Puppeteer API - Po připojení ovládáte prohlížeč pomocí standardního rozhraní Puppeteer API

Řešení potíží

Pokud máte dotazy nebo narazíte na chybu, podívejte se na Časté dotazy a průvodce řešením problémů Browser Run.