Puppeteer: Timed out after 30000 ms while trying to... | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Jonatas William

2 anos atrás Jonatas William

Puppeteer: Timed out after 30000 ms while trying to connect to the browser!

Pessoal, tenho um scrapper Puppeteer rodando no Google Cloud Functions para automatizar processo em um site. Esse scrapper roda a cerca de 1 ano e nessa semana começou a dar pau sem termos mexido nele. Nos logs de erros do GPC aparece: TimeoutError: Timed out after 30000 ms while trying to connect to the browser! Only Chrome at revision r818858 is guaranteed to work. O que estou achando muito estranho é que no ambiente de desenvolvimento está rodando e só em produção que parou. O erro não acontece se eu mudar a URL para a requisição do scrapper em produção, mesmo sendo uma outra página do mesmo domínio. Mas, novamente, no teste continua funcionando. Estava utilizando o Puppeteer 2.1.1 e já fiz o upgrade para 5.5.0 Aqui eu isolei parte do código para poder replicar o probema. Está rodando no Google Cloud Funcions sendo o trigger uma requisição https ``` const puppeteer = require('puppeteer'); const onRequest = async (req, res) => { function run() { return new Promise(async (resolve, reject) => { try { browser = await puppeteer.launch({ headless: true, ignoreHTTPSErrors: true, args: [ '--no-sandbox', '--disable-setuid-sandbox', ], }); const context = await browser.createIncognitoBrowserContext(); page = await context.newPage(); const DARF_URL = "http://www31.receita.fazenda.gov.br/SicalcWeb/UF.asp?AP=P&Person=N&TipTributo=1&FormaPagto=1"; await page.goto(DARF_URL ); const element = await page.$("body > form > table > tbody > tr > td > div > strong > a > font > small > small > strong"); const text = await page.evaluate(element => element.textContent, element); const response = { status: 'ok', text: text, } browser.close(); resolve(JSON.stringify(response)) } catch (error) { const response = { status: 'error', error: error, } reject(response); } }) } run().then((response) => { res.send(response); return }).catch(error => { res.send(error); }) } module.exports = { onRequest } ```

4 Respostas