Diagnostica i timeout del proxy di Puppeteer per richiesta e traguardo di pagina
Usa requestfailed per gli errori di rete e lo stato HTTPResponse per le risposte del server prima di incolpare un proxy di una navigazione lenta dell'intera pagina.
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.