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