وقفه در waitForSelector یعنی عنصر مورد انتظار شرط انتظار خود را برآورده نکرده است. افزودن پروکسی پیش از ظاهر شدن آن ثابت نمی‌کند که اتصال TCP پروکسی منقضی شده است.

  1. شواهد ناوبری را نگه دارید. نشانی URL نهایی، وضعیت پاسخ اصلی و درخواست‌های ناموفق مرتبط را پیش از انتظار انتخابگر ثبت کنید. در Puppeteer پاسخ خطای HTTP لزوماً به‌عنوان استثنای ناوبری پرتاب نمی‌شود.
  2. سند تحویل‌شده را بررسی کنید. عنوان آن یا یک تصویر صفحهٔ به‌دقت پوشانده‌شده می‌تواند چالش ورود، صفحهٔ رد دسترسی یا صفحهٔ منطقه‌ای متفاوت را آشکار کند. ممکن است صفحهٔ موردنظر درخواست‌های ناموفق برنامه هم داشته باشد؛ انتخابگر و قاب را نیز بررسی کنید.
  3. هر چالش را در منبع خودش حل کنید. برای چالش پروکسی، احراز هویت پشتیبانی‌شدهٔ پروکسی را پیش از ناوبری پیکربندی کنید. چالش مقصد به گردش‌کار مجاز برنامه تعلق دارد و اعتبارنامهٔ خودش را دارد.

این اغلب شواهد سودمندی را آشکار می‌کند که پیش از تبدیل انتظار عنصر به نخستین استثنایی که کد شما گزارش کرده وجود داشته است. دادن گذرواژهٔ یک وب‌سایت به پروکسی نمی‌تواند آن سند پیشین را اصلاح کند.

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

هنگام مقایسه، نشست مرورگر و مسیر را ثابت نگه دارید. تغییر پروکسی، انتخابگر و تمام وضعیت مرورگر در یک تلاش پنهان می‌کند که کدام شرط اهمیت داشت.

مقالات مرتبط