Reusing a browser session with Playwright

If you're using Playwright for driving UI tests, you may want to use your browser with pre-configured user sessions.

By default, Playwright will start a fresh browser instance without your existing sessions, but that's not always ideal.

For instance, if we were running a Chromium-based browser with remote debugging enabled (for Chrome DevTools Protocol (CDP)):

chromium --remote-debugging-port 9222

We could then write the following code to connect to it, and re-use an existing page in the browser:

const browser = await chromium.connectOverCDP('http://localhost:9222');

const defaultContext = browser.contexts()[0]
const page = defaultContext.pages()[0]

// then do whatever you'd like
await page.goto('https://twitter.com/settings/account');

Code adapted from this Python example.

Written by Jamie Tanna's profile image Jamie Tanna on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

#blogumentation #playwright #javascript.

This blog post is 100% human-written, and has nothing derived from LLMs (be it code, editorial support or prose).

This post was filed under articles.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.