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 , and last updated 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 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.