Puppeteer proxy zaman aşımlarını istek ve sayfa kilometre taşına göre teşhis edin
Ağ hataları için requestfailed, sunucu yanıtları için HTTPResponse durumunu kullanın; yavaş tam sayfa gezinmesinde proxy'yi suçlamadan önce.
Hızlı bir curl veya Axios yanıtı genellikle tek bir kaynaktır. Puppeteer ayrıca birden çok ana bilgisayardan betik, görsel, çerçeve ve API getirebilir ve daha sonraki bir sayfa kilometre taşını bekleyebilir.
Proxy zaten mevcut sayfada yapılandırıldığından, gezinme sırasında tek tek hataları gözlemleyin:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Bunu async iş akışında gerçek targetUrl ile çalıştırın. Örnek, gerekli her görselin veya daha sonraki bir uygulama yanıtının tamamlanmasından önce gelen DOMContentLoaded olayını bekler. Bu kilometre taşını özgün gezinmenin beklediğiyle karşılaştırın: ana belge, DOM, load veya ağ sessizliği farklı sonuçlardır.
403 veya 500 yanıtı requestfailed olayı değildir. Durumu HTTPResponse üzerinden de okuyun.
Gözlemleri yavaş veya reddedilen bir kaynağı, yinelenen kimlik doğrulamayı ya da daha sonraki bir bekleme koşulunu belirlemek için kullanın. Daha uzun zaman aşımı yalnızca beklemeyi uzatır; tarayıcının işini azaltmaz ve her kaynak bağlantısının kabul edildiğini de kanıtlamaz.