Diagnosticér Puppeteer-proxy-timeouts efter anmodning og sidemilepæl
Brug requestfailed til netværksfejl og HTTPResponse-status til serverrespons, før du bebrejder en proxy for langsom navigation af hele siden.
Et hurtigt svar fra curl eller Axios er som regel én ressource. Puppeteer kan også hente scripts, billeder, frames og API'er fra flere værter og vente på en senere sidemilepæl.
Når proxyen allerede er konfigureret på den eksisterende side, så observer enkeltfejl under navigationen:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Kør dette i async-workflowet med den rigtige targetUrl. Eksemplet venter på DOMContentLoaded, som er tidligere end færdiggørelsen af hvert nødvendigt billede eller et senere applikationssvar. Sammenlign den milepæl med den, den oprindelige navigation ventede på: hoveddokument, DOM, load eller netværksro er forskellige udfald.
Et svar med 403 eller 500 er ikke en requestfailed-hændelse. Læs også status via HTTPResponse.
Brug observationerne til at finde en langsom eller afvist ressource, gentagen godkendelse eller en senere ventebetingelse. En længere timeout forlænger kun ventetiden; den mindsker ikke browserens arbejde og beviser ikke, at hver ressourceforbindelse blev accepteret.