پاسخ سریع curl یا Axios معمولاً یک منبع است. Puppeteer همچنین می‌تواند اسکریپت‌ها، تصاویر، فریم‌ها و APIها را از چند میزبان دریافت کند و منتظر نقطه عطف بعدی صفحه بماند.

وقتی پراکسی از قبل روی صفحه موجود تنظیم شده است، خطاهای تک‌تک را در طول پیمایش مشاهده کنید:

page.on("requestfailed", request => {
  console.log(request.url(), request.failure()?.errorText);
});

await page.goto(targetUrl, {
  waitUntil: "domcontentloaded",
  timeout: 30000,
});

این را در جریان کاری async با targetUrl واقعی اجرا کنید. مثال منتظر DOMContentLoaded می‌ماند که زودتر از تکمیل هر تصویر لازم یا پاسخ بعدی برنامه رخ می‌دهد. آن نقطه عطف را با نقطه‌ای که پیمایش اصلی منتظرش بود مقایسه کنید: سند اصلی، DOM، load یا بی‌تحرکی شبکه نتایج متفاوتی هستند.

پاسخ 403 یا 500 رویداد requestfailed نیست. وضعیت را از طریق HTTPResponse هم بخوانید.

از این مشاهدات برای تشخیص منبع کند یا ردشده، احراز هویت تکراری یا شرط انتظار بعدی استفاده کنید. تایم‌اوت طولانی‌تر فقط انتظار را طولانی می‌کند؛ نه کار مرورگر را کم می‌کند و نه ثابت می‌کند که هر اتصال منبع پذیرفته شده است.

مقالات مرتبط