puppeteer/experimental/puppeteer-firefox
2019-11-26 13:12:25 +01:00
..
.ci feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
examples feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
lib feat(api): add page.emulateMedia{Type,Features} (#5012) 2019-10-23 13:55:00 +02:00
misc chore: drop Node.js v6 support (#5045) 2019-10-16 17:00:20 +02:00
.cirrus.yml feat(launcher): add option to run Puppeteer with different browsers (#5137) 2019-11-26 10:23:19 +01:00
.gitignore feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
.npmignore feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
DeviceDescriptors.js chore: drop Node.js v6 support (#5045) 2019-10-16 17:00:20 +02:00
Errors.js feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
index.js feat(firefox): introduce async stacks for Puppeteer-Firefox (#3948) 2019-02-07 15:18:43 -08:00
install.js chore(juggler): Roll Firefox to 120450a2 (#3842) 2019-01-25 15:25:54 -05:00
LICENSE feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00
package.json chore: update URLs (#5185) 2019-11-26 13:12:25 +01:00
README.md chore(readme): fix typo (#4749) 2019-07-29 14:24:48 -07:00
tsconfig.json feat: introduce puppeteer-firefox (#3628) 2018-12-06 11:24:00 -08:00

Prototype: Puppeteer for Firefox

Use Puppeteer's API with Firefox

⚠️ BEWARE: Experimental. Just for preview. Installation and usage will change.

This project is a feasibility prototype to guide the work of implementing Puppeteer endpoints into Firefox's code base. Mozilla's bug 1545057 tracks the initial milestone, which will be based on a CDP-based remote protocol.

Getting Started

Installation

To try out Puppeteer with Firefox in your project, run:

npm i puppeteer-firefox
# or "yarn add puppeteer-firefox"

Note: When you install puppeteer-firefox, it downloads a custom-built Firefox (Firefox/63.0.4) that is guaranteed to work with the API.

Usage

Example - navigating to https://example.com and saving a screenshot as example.png:

Save file as example.js

const pptrFirefox = require('puppeteer-firefox');

(async () => {
  const browser = await pptrFirefox.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

Execute script on the command line

node example.js

API Status

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

Credits

Special thanks to Amine Bouhlali who volunteered the puppeteer-firefox NPM package.