Una respuesta rápida de curl o Axios suele ser un solo recurso. Puppeteer también puede obtener scripts, imágenes, marcos y API de varios hosts y esperar un hito de página posterior.

Con el proxy ya configurado en la página existente, observa los fallos individuales durante la navegación:

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

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

Ejecuta esto en el flujo asíncrono con el targetUrl real. El ejemplo espera DOMContentLoaded, que es antes de que se complete cada imagen necesaria o una respuesta posterior de la aplicación. Compara ese hito con el que esperaba la navegación original: documento principal, DOM, load o inactividad de red son resultados distintos.

Una respuesta 403 o 500 no es un evento requestfailed. Lee también el estado mediante HTTPResponse.

Usa las observaciones para identificar un recurso lento o denegado, una autenticación repetida o una condición de espera posterior. Un tiempo de espera más largo solo alarga la espera; no reduce el trabajo del navegador ni demuestra que se haya aceptado cada conexión de recurso.

Artículos relacionados