রিকোয়েস্ট ও পেজ মাইলস্টোন ধরে 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 নিয়ে এটি async ওয়ার্কফ্লোতে চালান। উদাহরণটি DOMContentLoaded-এর জন্য অপেক্ষা করে, যা প্রতিটি প্রয়োজনীয় ছবি বা পরের অ্যাপ্লিকেশন সাড়া সম্পূর্ণ হওয়ার আগেই ঘটে। সেই মাইলস্টোনটিকে মূল নেভিগেশন যে মাইলস্টোনের জন্য অপেক্ষা করেছিল তার সঙ্গে তুলনা করুন: মূল নথি, DOM, load বা নেটওয়ার্ক নিষ্ক্রিয়তা ভিন্ন ফলাফল।
403 বা 500 সাড়া requestfailed ইভেন্ট নয়। HTTPResponse দিয়েও স্ট্যাটাস পড়ুন।
পর্যবেক্ষণগুলো ব্যবহার করে ধীর বা প্রত্যাখ্যাত রিসোর্স, পুনরাবৃত্ত প্রমাণীকরণ বা পরের অপেক্ষার শর্ত চিহ্নিত করুন। দীর্ঘতর টাইমআউট কেবল অপেক্ষা বাড়ায়; এটি ব্রাউজারের কাজ কমায় না এবং প্রতিটি রিসোর্স সংযোগ গৃহীত হয়েছে তা প্রমাণও করে না।