אבחון פסקי זמן של פרוקסי Puppeteer לפי בקשה ואבן דרך של העמוד
השתמשו ב-requestfailed לכשלי רשת ובסטטוס HTTPResponse לתגובות שרת לפני שמאשימים פרוקסי בניווט איטי של עמוד שלם.
תגובה מהירה של curl או Axios היא בדרך כלל משאב אחד. Puppeteer יכול גם להביא סקריפטים, תמונות, מסגרות וממשקי API ממספר מארחים ולהמתין לאבן דרך מאוחרת יותר של העמוד.
מאחר שהפרוקסי כבר מוגדר בעמוד הקיים, התבוננו בכשלים בודדים במהלך הניווט:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});הריצו זאת בזרימת העבודה האסינכרונית עם targetUrl האמיתי. הדוגמה ממתינה ל-DOMContentLoaded, שמתרחש לפני השלמת כל תמונה נדרשת או תגובת יישום מאוחרת. השוו אבן דרך זו לזו שאליה המתין הניווט המקורי: מסמך ראשי, DOM, load או שקט ברשת הם תוצאות שונות.
תגובה 403 או 500 אינה אירוע requestfailed. קראו את הסטטוס גם דרך HTTPResponse.
השתמשו בתצפיות כדי לזהות משאב איטי או נדחה, אימות חוזר או תנאי המתנה מאוחר יותר. פסק זמן ארוך יותר רק מאריך את ההמתנה; הוא אינו מפחית את עבודת הדפדפן ואינו מוכיח שכל חיבור משאב התקבל.