Puppeteer for Firefox
March 15, 2019 ยท View on GitHub
Headless Firefox NodeJS API based on FoxDriver (written by the wonderful folks at Sauce Labs), which is compatible with Puppeteer API.
Supported APIs
Execute npm start for details.
Extra APIs
Network Throttling
- Firefox-only
- Add "throttling" option to launch()
- Supported properties
- downloadThroughput: integer, bytes/s, defaults to 75000
- uploadThroughput: integer, bytes/s, defaults to 25000
- latency: integer, in milliseconds, defaults to 100
Installation
It's on NPM, so add puppeteer-fx to your dependencies in package.json, or:
npm install puppeteer-fx
Example
const puppeteer = require('./puppeteer-fx');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://mozilla.github.io/arewefastyet-speedometer/2.0/');
await page.evaluate(
'document.querySelector("section#home div.buttons button").click()'
);
})();
Profiles
-
Base: https://github.com/saucelabs/foxdriver/blob/master/lib/config/profile/prefs.js
-
More: https://github.com/autonome/puppeteer-fx/blob/master/source/install/user_prefs.json
