I´am able to download firefox binaries for my project by set the environment variable:
npm config set PUPPETEER_PRODUCT firefox npm i puppeteer
Then inside of my project I run:
npm i puppeteer
This works fine. However when I change it back to chrome and reinstall it:
npm config set PUPPETEER_PRODUCT chrome npm i puppeteer
npm i puppeteer
It will delete the firefox binaries and only install chrome again. I tried to run npm update after switching the PUPPETEER_PRODUCT environment variable however this doesn´t work and nothing gets updated.
How can I download firefox and chrome binaries together? That I can easily switch the product value?
client = await puppeteer.launch({ product: 'firefox' }); // or product: 'chrome'
Please notice that I can not just create a hello world project and set product: 'firefox' because the binaries does not exist and will not automatically downloaded. For any default puppeteer install only the chrome binaries will exist.
Switching to firefox won´t work until you change the environment variable PUPPETEER_PRODUCT to firefox and reinstall puppeteer and download the firefox binaries.
As it seems you can only not use on windows this command via terminal:
On linux you can run the command above and it will download the binaries. There is actually no need to use this on linux:
To install both Chromium and Firefox at the same time:
Install Chromium
npm install puppeteer
Install Firefox
cd node_modules/puppeteer
PUPPETEER_PRODUCT=firefox node install.js
cd ../..
You should now see that they're both installed:
$ ls -1d node_modules/puppeteer/.local*
node_modules/puppeteer/.local-chromium
node_modules/puppeteer/.local-firefox
Source: https://github.com/puppeteer/puppeteer/issues/5743#issuecomment-621664876
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With