Diagnostikujte časové limity proxy v Puppeteeru podle požadavku a fáze stránky
Použijte requestfailed pro síťová selhání a stav HTTPResponse pro odpovědi serveru, než obviníte proxy z pomalého načtení celé stránky.
Rychlá odpověď curl nebo Axios je obvykle jeden zdroj. Puppeteer může načítat také skripty, obrázky, rámce a API z několika hostitelů a čekat na pozdější fázi stránky.
Když je proxy už nastavená na stávající stránce, sledujte jednotlivá selhání během navigace:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Spusťte to v asynchronním pracovním postupu se skutečnou targetUrl. Příklad čeká na DOMContentLoaded, což je dříve než dokončení každého potřebného obrázku nebo pozdější odpovědi aplikace. Porovnejte tuto fázi s tou, na kterou čekala původní navigace: hlavní dokument, DOM, load nebo síťový klid jsou různé výsledky.
Odpověď 403 nebo 500 není událost requestfailed. Čtěte stav také přes HTTPResponse.
Z pozorování určete pomalý nebo odmítnutý zdroj, opakovanou autentizaci nebo pozdější čekací podmínku. Delší časový limit jen prodlužuje čekání; nesnižuje práci prohlížeče ani nedokazuje, že každé připojení ke zdroji bylo přijato.