← Browser Run / browser-run / cdp
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
- Node.js nainstalovaný na vašem počítači
- Účet Cloudflare s povoleným Browser Run
- Token API Browser Run s
Browser Rendering - Editoprávnění
Nainstalujte Puppeteer
Nainstalujte puppeteer-core balíček (verze bez zabudovaného Chrome):
npm i puppeteer-corePř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.jsV 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:
- Koncový bod WebSocket -
browserWSEndpointURL adresa získá novou relaci prohlížeče a připojí se k ní přes WebSocket - Ověřování -
Authorizationhlavička s vaším API tokenem ověřuje požadavek - Keep-alive -
keep_aliveparametr (v milisekundách) určuje, jak dlouho relace zůstává aktivní - 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.