What I did :
I deployed my app in Heroku with these params
await puppeteer.launch({ product:'firefox',defaultViewport: null, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
Added this buildpack for Heroku :
https://github.com/jontewks/puppeteer-heroku-buildpack
I have added
"preinstall": "PUPPETEER_PRODUCT=firefox npm install puppeteer"
in package.json for downloading firefox dependency.
When I tried to use it for screenshot getting this error from logs
Error: Failed to launch the browser process! 2020-11-08T12:45:03.392222+00:00 app[web.1]: XPCOMGlueLoad error for file /app/node_modules/puppeteer/.local-firefox/linux-84.0a1/firefox/libxul.so: 2020-11-08T12:45:03.392224+00:00 app[web.1]: libXt.so.6: cannot open shared object file: No such file or directory 2020-11-08T12:45:03.392224+00:00 app[web.1]: Couldn't load XPCOM. 2020-11-08T12:45:03.392225+00:00 app[web.1]: 2020-11-08T12:45:03.392225+00:00 app[web.1]: 2020-11-08T12:45:03.392226+00:00 app[web.1]: TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md 2020-11-08T12:45:03.392226+00:00 app[web.1]: 2020-11-08T12:45:03.392226+00:00 app[web.1]: at onClose (/app/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:193:20) 2020-11-08T12:45:03.392227+00:00 app[web.1]: at Interface.<anonymous> (/app/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:183:68) 2020-11-08T12:45:03.392227+00:00 app[web.1]: at Interface.emit (events.js:326:22) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Interface.close (readline.js:416:8) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Socket.onend (readline.js:194:10) 2020-11-08T12:45:03.392228+00:00 app[web.1]: at Socket.emit (events.js:326:22) 2020-11-08T12:45:03.392229+00:00 app[web.1]: at endReadableNT (_stream_readable.js:1223:12) 2020-11-08T12:45:03.392229+00:00 app[web.1]: at processTicksAndRejections (internal/process/task_queues.js:84:21)
P.S: Working fine in Local development setup.