Connect Playwright To BlitzBrowser
To connect Playwright to BlitzBrowser, you have to change the method launch()
to connectOverCDP(`...`)
.
Code Example
In this example, we've replaced launch()
with connectOverCDP(`...`)
. We've also introduced the BLITZBROWSER_ACCESS_KEY
environment variable to avoid hardcoding your access key
directly in the code. The connectOverCDP(`...`)
establishes a connection between your
Playwright instance and BlitzBrowser via the Chrome DevTools Protocol (CDP). An headless browser will
be assigned to your connection until the browser is closed.
import { chromium } from 'playwright';
// const browser = await chromium.launch();
const browser = await chromium.connectOverCDP(
`wss://cdp.blitzbrowser.com?accessKey=${process.env.BLITZBROWSER_ACCESS_KEY}`
);
const context = await browser.newContext();
const page = await context.newPage();
// ...
await browser.close();
import asyncio
import os
from playwright.async_api import async_playwright
async def main():
playwright = await async_playwright().start()
browser = await playwright.chromium.connect_over_cdp(
f"wss://cdp.blitzbrowser.com?accessKey={os.environ.get("BLITZBROWSER_ACCESS_KEY")}"
)
context = await browser.new_context()
page = await context.new_page()
# ...
await browser.close()
await playwright.stop()
if __name__ == "__main__":
asyncio.run(main())
package com.example.demo;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
public class PlaywrightJavaExample {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create();
Browser browser = playwright.chromium().connectOverCDP(
"wss://cdp.blitzbrowser.com?accessKey=" + System.getenv("BLITZBROWSER_ACCESS_KEY")
)
) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
// ...
} catch (Exception e) {
e.printStackTrace();
}
}
}
Contribute to the Docs
Found an issue or have an idea for an improvement? Our documentation is open source. Feel free to contribute directly on GitHub.