Skip to main content
Version: 1.15

Chrome Extensions


Extensions only work in Chrome / Chromium in non-headless mode.

The following is code for getting a handle to the background page of an extension whose source is located in ./my-extension:

const { chromium } = require('playwright');
(async () => {  const pathToExtension = require('path').join(__dirname, 'my-extension');  const userDataDir = '/tmp/test-user-data-dir';  const browserContext = await chromium.launchPersistentContext(userDataDir,{    headless: false,    args: [      `--disable-extensions-except=${pathToExtension}`,      `--load-extension=${pathToExtension}`    ]  });  const backgroundPage = browserContext.backgroundPages()[0];  // Test the background page as you would any other page.  await browserContext.close();})();