Connect CDP Browser
Connect to an already running browser via its Chrome DevTools Protocol (CDP) debugging port.
Overview
This skill enables connecting to externally launched browser instances using Playwright's connect_over_cdp() method. Useful when:
- A browser is launched by external software/tool
- You need to connect to an existing browser without starting a new one
- The browser exposes a CDP debugging port
Quick Start
When user provides a CDP port (e.g., "port 37194"):
- Use the provided script to connect:
python scripts/connect_cdp.py --port 37194
- Or execute Python code directly:
from playwright.sync_api import sync_playwright
port = 37194 # User-provided port
cdp_url = f"http://127.0.0.1:{port}"
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(cdp_url)
context = browser.contexts[0] if browser.contexts else browser.new_context()
page = context.pages[0] if context.pages else context.new_page()
print(f"Connected to browser")
print(f"Page title: {page.title()}")
print(f"Page URL: {page.url}")
browser.close()
Common Operations
Get Page Information
print(f"Title: {page.title()}")
print(f"URL: {page.url}")
print(f"Content length: {len(page.content())}")
Navigate to URL
page.goto("https://example.com")
Take Screenshot
page.screenshot(path="screenshot.png", full_page=True)
Click Element
page.click("selector")
Type Text
page.fill("input[name='q']", "search query")
Troubleshooting
- Connection refused: Ensure the browser is running and CDP port is correct
- Timeout: Check if port is accessible from current environment
- Browser closed: The browser must remain running during the session
Resources
scripts/
connect_cdp.py- Helper script for connecting to CDP browsers
