1

我知道使用 Pyppeteer (Puppeteer) 或 Selenium,我可以通过将它们包含在 args 中来简单地添加 chrome/chromium 扩展,如下所示:

args=[
     f'--disable-extensions-except={pathToExtension}',
     f'--load-extension={pathToExtension}'
]

我也知道硒有非常有用的效果load_extension

我想知道是否有一种类似的简单方法可以在 Firefox 中为 Playwright 加载扩展程序/附加组件?或者也许只是与firefox_user_args

我在 JS 中看到了一个使用这个的例子:

const path = require('path');
const {firefox} = require('playwright');
const webExt = require('web-ext').default;

(async () => {
  // 1. Enable verbose logging and start capturing logs.
  webExt.util.logger.consoleStream.makeVerbose();
  webExt.util.logger.consoleStream.startCapturing();

  // 2. Launch firefox
  const runner = await webExt.cmd.run({
    sourceDir: path.join(__dirname, 'webextension'),
    firefox: firefox.executablePath(),
    args: [`-juggler=1234`],
  }, {
    shouldExitProgram: false,
  });

  // 3. Parse firefox logs and extract juggler endpoint.
  const JUGGLER_MESSAGE = `Juggler listening on`;
  const message = webExt.util.logger.consoleStream.capturedMessages.find(msg => msg.includes(JUGGLER_MESSAGE));
  const wsEndpoint = message.split(JUGGLER_MESSAGE).pop();

  // 4. Connect playwright and start driving browser.
  const browser = await firefox.connect({ wsEndpoint });
  const page = await browser.newPage();
  await page.goto('https://mozilla.org');
  // .... go on driving ....
})();

python有类似的东西吗?

4

0 回答 0