puppeteer-firefox 开启扩展

怎甘沉沦 提交于 2019-12-02 04:43:20

puppeteer-firefox安装扩展

puppeteer-firefox 目前已经有许多人在投入开发工作,但是和chrome的launch打开扩展api不一致,在chrome中,我们可以很容易配置参数就可以打开插件,但是在firefox中我们要使用web-ext 去启动firefox并且使用connect去连接。

官方issue

Current tip-of-tree status of Puppeteer-Firefox is availabe at isPuppeteerFirefoxReady?

Add-ons

Firefox Add-ons differs from Chrome extensions, hence precess of its install is different.
Firefox Add-on can be installed using web-ext library which runs Firefox binary and can be connected using Puppeteer connect API.

const webExt = require('web-ext').default;
const pptrFirefox = require('puppeteer-firefox');
const getPort = require('get-port');
(async () => {
  const CDPPort = await getPort();
  await webExt.cmd.run(
      {
        sourceDir: 'path-to-add-on',
        firefox: pptrFirefox.executablePath(),
        args: [`-juggler=${CDPPort}`]
      },
      {
        // These are non CLI related options for each function.
        // You need to specify this one so that your NodeJS application
        // can continue running after web-ext is finished.
        shouldExitProgram: false
      }
    );
    const browser = await pptrFirefox.connect({
      browserWSEndpoint: `ws://127.0.0.1:${CDPPort}`
    });
})();

package.json example

{
  "dependencies": {
    ...
    "get-port": "^4.2.0",
    "web-ext": "^3.1.0",
    "puppeteer-firefox": "^0.5.0"
    ...
  },
}

chrome扩展开启方式

chrome extensions

博客: https://github.com/zhaojunlike

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!