puppeteer/experimental/puppeteer-firefox
2019-06-26 10:58:05 -07:00
..
.ci
examples
lib fix(firefox): error message typo (#4623) 2019-06-26 10:58:05 -07:00
misc feat: support Response.buffer(), Response.json() and Response.text() (#4063) 2019-02-24 19:31:35 -08:00
.cirrus.yml
.gitignore
.npmignore
DeviceDescriptors.js feat(puppeteer): introduce puppeteer.errors and puppeteer.devices (#4312) 2019-04-19 15:33:06 -07:00
Errors.js
index.js
install.js
LICENSE
package.json feat(firefox): roll Firefox to 765beffc (#4156) 2019-03-11 17:56:16 -07:00
README.md docs(firefox): Adding bug reference & prototype clarification to juggler (#4402) 2019-05-09 16:27:10 -07:00
tsconfig.json

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 availabe at isPuppeteerFirefoxReady?

Credits

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