Erro ao trocar o cromo sem decapitação no heroku

Atualmente, estou trabalhando no projeto em que preciso criar um aplicativo que precise abrir uma URL em um navegador para usar algumas funções nele.
por isso eu useimarionetista dentro de um script nodejs para abrir o navegador no lado do servidor para que eu possa usá-lo como uma API.

Aqui está o 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>');
    })();

});

Esse código funciona localmente, mas quando implanto no heroku, ele me mostra este erro:

app [web.1]: / send
app [web.1]: (nó: 4) UnhandledPromiseRejectionWarning: Rejeição de promessa não tratada (ID de rejeição: 1): Erro: falha ao iniciar o chrome!
app [web.1]: /app/node_modules/puppeteer/.local-chromium/linux-515411/chrome-linux/nacl_helper: erro ao carregar bibliotecas compartilhadas: libnss3.so: não é possível abrir o arquivo de objeto compartilhado: esse arquivo ou diretório não existe
app [web.1]: [21: 21: 1228 / 131735.202176: ERRO: nacl_fork_delegate_linux.cc (316)] Inicialização incorreta de auxiliar de NaCl incorreta (0 bytes)
app [web.1]:
app [web.1]:
app [web.1]: RESOLUÇÃO DE PROBLEMAS:https://github.com/GoogleChrome/puppeteer/blob/master/docs/trou Troubleshooting.md
app [web.1]:
app [web.1]: (nó: 4) [DEP0018] DeprecationWarning: rejeições de promessa não tratadas estão obsoletas. No futuro, as rejeições de promessa que não forem tratadas encerrarão o processo do Node.js. com um código de saída diferente de zero.

Mas se eu removerheadless: false funciona, mas o problema é que o URL mostra uma página de aquecimento que eu preciso usar um navegador como chrome, mozilla ou safari.

Como posso resolver esse problema?

questionAnswers(2)

yourAnswerToTheQuestion