Diagnostisera Puppeteer-proxyns tidsgränser per begäran och sidmilstolpe
Använd requestfailed för nätverksfel och HTTPResponse-status för server svar innan du skyller en proxy för långsam navigering av hela sidan.
Ett snabbt svar från curl eller Axios är oftast en enda resurs. Puppeteer kan också hämta skript, bilder, ramar och API:er från flera värdar och vänta på en senare sidmilstolpe.
Eftersom proxyn redan är konfigurerad på den befintliga sidan, observera enskilda fel under navigeringen:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Kör detta i async-arbetsflödet med den riktiga targetUrl. Exemplet väntar på DOMContentLoaded, vilket inträffar tidigare än slutförandet av varje nödvändig bild eller ett senare applikationssvar. Jämför den milstolpen med den som den ursprungliga navigeringen väntade på: huvuddokument, DOM, load eller nätverksro är olika utfall.
Ett svar med 403 eller 500 är inte en requestfailed-händelse. Läs även status via HTTPResponse.
Använd observationerna för att identifiera en långsam eller avvisad resurs, upprepad autentisering eller ett senare väntevillkor. En längre tidsgräns förlänger bara väntan; den minskar inte webbläsarens arbete och bevisar inte att varje resursanslutning accepterades.