Uma resposta rápida de curl ou Axios costuma ser um único recurso. O Puppeteer também pode buscar scripts, imagens, frames e APIs em vários hosts e esperar por um marco de página posterior.

Como o proxy já está configurado na página existente, observe as falhas individuais durante a navegação:

page.on("requestfailed", request => {
  console.log(request.url(), request.failure()?.errorText);
});

await page.goto(targetUrl, {
  waitUntil: "domcontentloaded",
  timeout: 30000,
});

Execute isto no fluxo assíncrono com o targetUrl real. O exemplo aguarda DOMContentLoaded, que ocorre antes da conclusão de cada imagem necessária ou de uma resposta posterior da aplicação. Compare esse marco com o que a navegação original esperava: documento principal, DOM, load ou inatividade de rede são resultados diferentes.

Uma resposta 403 ou 500 não é um evento requestfailed. Leia o status também por meio de HTTPResponse.

Use as observações para identificar um recurso lento ou recusado, autenticação repetida ou uma condição de espera posterior. Um tempo limite maior apenas prolonga a espera; não reduz o trabalho do navegador nem prova que cada conexão de recurso foi aceita.

Artigos relacionados