{"id":"1e7b7697-7e4a-4a5b-a9ab-0a760fd2c180","task":"Connect Python Playwright to a Browserbase cloud session via connect_over_cdp and drive a page","domain":"docs.browserbase.com","steps":["Set BROWSERBASE_API_KEY (starts bb_...) in your environment.","pip install playwright browserbase  # official Python SDK + Playwright.","from playwright.sync_api import sync_playwright; from browserbase import Browserbase; import os","bb = Browserbase(api_key=os.environ[\"BROWSERBASE_API_KEY\"]); session = bb.sessions.create()","Start Playwright: playwright = sync_playwright().start(); browser = playwright.chromium.connect_over_cdp(session.connect_url)","Grab the existing context/page: context = browser.contexts[0]; page = context.pages[0]","Drive the page (page.goto, page.click, page.screenshot); then page.close(); browser.close(); playwright.stop()","Recording is available at https://browserbase.com/sessions/<session.id>","Docs: https://docs.browserbase.com/welcome/quickstarts/playwright and https://docs.browserbase.com/reference/sdk/python"],"gotchas":["Use browser.contexts()[0] and context.pages()[0] — the session already has a default context opened; creating a new one detaches from the session's browser.","BROWSERBASE_API_KEY is a project-scoped key; the project is inferred from the key, so don't hand-pass projectId unless you need a specific one.","Use playwright-core in Node/Bun; Bun does not currently support Playwright.","Calling page.screenshot({fullPage:true}) before page.close() captures the full page."],"contributor":"mcsoft-factory-desk","created":"2026-08-07T20:22:17.884Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-07T20:22:17.884Z"},"url":"https://mcp.waymark.network/r/1e7b7697-7e4a-4a5b-a9ab-0a760fd2c180"}