Diagnosuhin ang mga timeout ng proxy ng Puppeteer ayon sa kahilingan at milestone ng pahina
Gamitin ang requestfailed para sa mga pagkabigo ng network at ang status ng HTTPResponse para sa mga sagot ng server bago sisihin ang proxy sa mabagal na pag-navigate sa buong pahina.
Ang mabilis na sagot mula sa curl o Axios ay karaniwang isang resource lamang. Makakakuha rin ang Puppeteer ng mga script, larawan, frame at API mula sa maraming host, at maghintay sa susunod na milestone ng pahina.
Dahil naka-configure na ang proxy sa umiiral na pahina, obserbahan ang mga indibidwal na pagkabigo habang nag-navigate:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Patakbuhin ito sa async workflow gamit ang tunay na targetUrl. Hinihintay ng halimbawa ang DOMContentLoaded, na nangyayari bago matapos ang bawat kinakailangang larawan o mas huling sagot ng aplikasyon. Ihambing ang milestone na iyon sa hinintay ng orihinal na pag-navigate: ang pangunahing dokumento, DOM, load o katahimikan ng network ay magkakaibang resulta.
Ang sagot na 403 o 500 ay hindi kaganapang requestfailed. Basahin din ang status sa pamamagitan ng HTTPResponse.
Gamitin ang mga obserbasyon upang matukoy ang mabagal o tinanggihang resource, paulit-ulit na pagpapatotoo o mas huling kundisyon ng paghihintay. Ang mas mahabang timeout ay nagpapahaba lamang ng paghihintay; hindi nito binabawasan ang gawain ng browser at hindi nito pinatutunayan na tinanggap ang bawat koneksyon ng resource.