Diagnostique tempos limite do proxy do Puppeteer por solicitação e marco da página
Use requestfailed para falhas de rede e o status HTTPResponse para respostas do servidor antes de culpar um proxy por uma navegação lenta de página inteira.
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.