waitForSelector-এ টাইমআউট মানে প্রত্যাশিত এলিমেন্টটি তার অপেক্ষার শর্ত পূরণ করেনি। এটি দেখার আগে প্রক্সি যোগ করলে প্রমাণ হয় না যে প্রক্সির TCP সংযোগের সময় শেষ হয়েছে।

  1. নেভিগেশনের প্রমাণ রাখুন। চূড়ান্ত URL, মূল প্রতিক্রিয়ার অবস্থা ও সংশ্লিষ্ট ব্যর্থ অনুরোধ সিলেক্টরের অপেক্ষার আগে লিপিবদ্ধ করুন। Puppeteer-এ HTTP ত্রুটি প্রতিক্রিয়া সবসময় নেভিগেশন ব্যতিক্রম হিসেবে নিক্ষিপ্ত হয় না।
  2. সরবরাহ করা নথি পরীক্ষা করুন। এর শিরোনাম বা সাবধানে অস্পষ্ট করা স্ক্রিনশট একটি লগইন চ্যালেঞ্জ, প্রবেশ-অস্বীকার পৃষ্ঠা বা ভিন্ন আঞ্চলিক পৃষ্ঠা প্রকাশ করতে পারে। অভীষ্ট পৃষ্ঠার অ্যাপ্লিকেশন অনুরোধও ব্যর্থ হতে পারে; সিলেক্টর ও ফ্রেমও দেখুন।
  3. যেকোনো চ্যালেঞ্জ তার উৎসেই মোকাবেলা করুন। প্রক্সি চ্যালেঞ্জের ক্ষেত্রে নেভিগেশনের আগে সমর্থিত প্রক্সি প্রমাণীকরণ কনফিগার করুন। গন্তব্য চ্যালেঞ্জ অ্যাপ্লিকেশনের অনুমোদিত কর্মপ্রবাহের অংশ, তার নিজস্ব শংসাপত্র রয়েছে।

এটি প্রায়ই এমন উপকারী প্রমাণ প্রকাশ করে যা এলিমেন্টের অপেক্ষা আপনার কোডের জানানো প্রথম ব্যতিক্রম হওয়ার আগেই ছিল। প্রক্সিকে একটি ওয়েবসাইটের পাসওয়ার্ড দিলে সেই আগের নথি ঠিক হবে না।

ব্যর্থ ক্রিয়াটি শনাক্ত করার পরে টাইমার বেছে নিন। নেভিগেশন, নেটওয়ার্ক সেটআপ ও এলিমেন্ট অপেক্ষার সীমা আলাদা। সত্যিই ধীর UI দীর্ঘতর সিলেক্টর অপেক্ষা ন্যায্য করতে পারে; ত্রুটি পৃষ্ঠা কিন্তু ভুল নথি হয়েই থাকবে।

তুলনা করার সময় ব্রাউজার সেশন ও রুট স্থির রাখুন। এক প্রচেষ্টায় প্রক্সি, সিলেক্টর ও সমস্ত ব্রাউজার অবস্থা বদলালে কোন শর্তটি গুরুত্বপূর্ণ ছিল তা ঢাকা পড়ে।

সম্পর্কিত নিবন্ধ