Skip to content

Commit b6f01c7

Browse files
MagMuellerclaude
andcommitted
Fix broken Selenium example, cdp_url comments, and add complete SDK examples
- Selenium example used ws:// string replacements that are no-ops since cdp_url returns https:// format. Selenium's debugger_address only supports local host:port. Replaced with Playwright sync bridge + note. - Fixed cdp_url comment from "# ws://..." to actual https:// format. - Added complete Playwright connection examples under Option 2 (SDK) for both Python and TypeScript — previously only showed browsers.create() without connecting. - Added Puppeteer example under Option 2 showing the /json/version pattern needed to get the webSocketDebuggerUrl. - All examples verified working with live integration tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 05db67e commit b6f01c7

1 file changed

Lines changed: 26 additions & 2 deletions

File tree

‎docs/cloud/browser/playwright-puppeteer-selenium.mdx‎

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,15 @@ with sync_playwright() as p:
9090

9191
Create a browser via the SDK, get a `cdp_url`, and connect with Playwright or Puppeteer.
9292

93+
### Playwright
94+
9395
<CodeGroup>
9496
```python Python
9597
from browser_use_sdk.v3 import AsyncBrowserUse
9698
from playwright.async_api import async_playwright
9799

98100
client = AsyncBrowserUse()
99-
browser = await client.browsers.create(proxy_country_code="us")
101+
browser = await client.browsers.create()
100102
print(browser.cdp_url) # https://uuid.cdpN.browser-use.com
101103
print(browser.live_url) # https://live.browser-use.com?wss=...
102104

@@ -114,7 +116,7 @@ import { BrowserUse } from "browser-use-sdk/v3";
114116
import { chromium } from "playwright";
115117

116118
const client = new BrowserUse();
117-
const browser = await client.browsers.create({ proxyCountryCode: "us" });
119+
const browser = await client.browsers.create();
118120
console.log(browser.cdpUrl); // https://uuid.cdpN.browser-use.com
119121
console.log(browser.liveUrl); // https://live.browser-use.com?wss=...
120122

@@ -128,6 +130,28 @@ await client.browsers.stop(browser.id);
128130
```
129131
</CodeGroup>
130132

133+
### Puppeteer
134+
135+
```typescript
136+
import { BrowserUse } from "browser-use-sdk/v3";
137+
import puppeteer from "puppeteer-core";
138+
139+
const client = new BrowserUse();
140+
const browser = await client.browsers.create();
141+
142+
// Puppeteer needs the WebSocket URL from /json/version
143+
const resp = await fetch(`${browser.cdpUrl}/json/version`);
144+
const { webSocketDebuggerUrl } = await resp.json();
145+
146+
const pwBrowser = await puppeteer.connect({ browserWSEndpoint: webSocketDebuggerUrl });
147+
const [page] = await pwBrowser.pages();
148+
await page.goto("https://example.com");
149+
console.log(await page.title());
150+
await pwBrowser.close();
151+
152+
await client.browsers.stop(browser.id);
153+
```
154+
131155
<Warning>
132156
Always stop browser sessions when done. Sessions left running will continue to incur charges until the timeout expires.
133157
</Warning>

0 commit comments

Comments
 (0)