Playwright
Playwright connects to rayobrowse via CDP using connect_over_cdp() / connectOverCDP().
Using /connect (no SDK)
Section titled “Using /connect (no SDK)”from playwright.sync_api import sync_playwright
with sync_playwright() as p: browser = p.chromium.connect_over_cdp( "ws://localhost:9222/connect?headless=false&os=windows" ) page = browser.new_context().new_page() page.goto("https://example.com") print(page.title()) browser.close()const { chromium } = require('playwright');
(async () => { const browser = await chromium.connectOverCDP( 'ws://localhost:9222/connect?headless=false&os=windows' ); const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.close();})();Using the SDK
Section titled “Using the SDK”from rayobrowse import Rayobrowsefrom playwright.sync_api import sync_playwright
client = Rayobrowse()ws_url = client.connect_url(os="windows", headless=False)
with sync_playwright() as p: browser = p.chromium.connect_over_cdp(ws_url) page = browser.new_page() page.goto("https://example.com") print(page.title()) browser.close()import { Rayobrowse } from 'rayobrowse';import { chromium } from 'playwright';
const client = new Rayobrowse({ endpoint: 'ws://localhost:9222', apiKey: '',});
const wsUrl = await client.connectUrl({ os: 'windows', headless: false });const browser = await chromium.connectOverCDP(wsUrl);const page = await browser.newPage();await page.goto('https://example.com');console.log(await page.title());await browser.close();With proxy
Section titled “With proxy”browser = p.chromium.connect_over_cdp( "ws://localhost:9222/connect?headless=true&os=windows&proxy=http://user:pass@host:port")