Skip to main content

Connect Playwright To BlitzBrowser

To connect Playwright to BlitzBrowser, you have to change the method launch() to connectOverCDP('...').

How to connect

To connect your code, you have to replace launch() with connectOverCDP('...'). We suggest to pass the ACCESS_KEY as an environment variable to avoid hardcoding your access key directly in the code. The connectOverCDP('...') method establishes a connection between Playwright to a remote browser. Playwright will get full control of one of our browsers via the Chrome DevTools Protocol (CDP). Once you disconnect from the browser, the remote browser is killed.

Typescript

import { chromium } from 'playwright';

// const browser = await chromium.launch();
const browser = await chromium.connectOverCDP(
`wss://cdp.blitzbrowser.com?accessKey=${process.env.ACCESS_KEY}`
);

const context = await browser.newContext();
const page = await context.newPage();

// ...

await browser.close();

Python

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("ACCESS_KEY")}"
)
context = await browser.new_context()
page = await context.new_page()

# ...

await browser.close()
await playwright.stop()

if __name__ == "__main__":
asyncio.run(main())

Java

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("ACCESS_KEY")
)
) {
BrowserContext context = browser.newContext();
Page page = context.newPage();

// ...
} catch (Exception e) {
e.printStackTrace();
}
}

}

CDP Properties

You can find all the properties available to configure your Chrome DevTools Protocol URL when connecting to our browsers here.