This project is an experimental 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.
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.
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
Special thanks to Amine Bouhlali who volunteered the puppeteer-firefox
NPM package.