Una risposta rapida di curl o Axios riguarda di solito una sola risorsa. Puppeteer può anche recuperare script, immagini, frame e API da più host e attendere un traguardo di pagina successivo.

Con il proxy già configurato sulla pagina esistente, osserva i singoli errori durante la navigazione:

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

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

Esegui questo nel flusso asincrono con il vero targetUrl. L'esempio attende DOMContentLoaded, che arriva prima del completamento di ogni immagine richiesta o di una successiva risposta dell'applicazione. Confronta quel traguardo con quello atteso dalla navigazione originale: documento principale, DOM, load o inattività di rete sono esiti diversi.

Una risposta 403 o 500 non è un evento requestfailed. Leggi lo stato anche tramite HTTPResponse.

Usa le osservazioni per individuare una risorsa lenta o rifiutata, un'autenticazione ripetuta o una condizione di attesa successiva. Un timeout più lungo prolunga solo l'attesa; non riduce il lavoro del browser e non dimostra che ogni connessione alla risorsa sia stata accettata.

Articoli correlati