Error al excitar cromo sin cabeza en heroku

Actualmente estoy trabajando en un proyecto en el que necesito crear una aplicación que necesite abrir una URL en un navegador para poder usar algunas funciones.
para eso usétitiritero dentro de un script de nodejs para abrir el navegador en el lado del servidor para que pueda usarlo como una api.

Aquí está el código (nodejs):

app.get('/do', (req, res) => {
    console.log("ok");
    (async() => {
        var browser = await puppeteer.launch(
            { args: ['--no-sandbox','--disable-setuid-sandbox'], headless: false });
        var page = await browser.newPage();
        await page.goto('https://url.com');//i hid the url for personal reason
        await page.waitFor(1000); // to wait for 1000ms
        await page.waitFor('body div'); // to wait for the 'body div' selector in body
        await page.waitFor(() => Math.random() < 0.5); // to wait for the predicate
        await page.screenshot({
            path: 'public/photo.png'
        });

        await browser.close();
        await res.end('<html><head></title></head><body><h1><img src=photo.png ></img></h1></body></html>');
    })();

});

Este código funciona localmente pero cuando lo implemento en heroku me muestra este error:

aplicación [web.1]: / enviar
app [web.1]: (nodo: 4) UnhandledPromiseRejectionWarning: Rechazo de promesa no controlado (id de rechazo: 1): Error: ¡Error al iniciar Chrome!
aplicación [web.1]: /app/node_modules/puppeteer/.local-chromium/linux-515411/chrome-linux/nacl_helper: error al cargar bibliotecas compartidas: libnss3.so: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio
aplicación [web.1]: [21: 21: 1228 / 131735.202176: ERROR: nacl_fork_delegate_linux.cc (316)] Ack de inicio de ayuda de NaCl incorrecto (0 bytes)
aplicación [web.1]:
aplicación [web.1]:
aplicación [web.1]: SOLUCIÓN DE PROBLEMAS:https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
aplicación [web.1]:
aplicación [web.1]: (nodo: 4) [DEP0018] DeprecationWarning: los rechazos de promesas no controladas están en desuso. En el futuro, los rechazos de promesas que no se manejan terminarán el proceso de Node.js con un código de salida distinto de cero.

Pero si quitoheadless: false funciona, pero el problema es que la URL muestra una página de calentamiento que necesito para usar un navegador como Chrome o Mozilla o Safari.

Cómo puedo resolver este problema ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta