waitForSelector üzerindeki zaman aşımı, beklenen öğenin bekleme koşulunu karşılamadığı anlamına gelir. Öğe görünmeden önce proxy eklemek, proxy'nin TCP bağlantısının süresinin dolduğunu kanıtlamaz.

  1. Gezinme kanıtlarını saklayın. Son URL'yi, ana yanıt durumunu ve ilgili başarısız istekleri seçici beklemesinden önce kaydedin. Puppeteer'da HTTP hata yanıtı mutlaka bir gezinme istisnası olarak fırlatılmaz.
  2. Teslim edilen belgeyi inceleyin. Başlığı veya dikkatlice maskelenmiş bir ekran görüntüsü, bir oturum açma meydan okumasını, erişim reddedildi sayfasını ya da farklı bir bölgesel sayfayı ortaya çıkarabilir. Amaçlanan sayfada uygulama istekleri de başarısız olmuş olabilir; seçiciyi ve çerçeveyi de kontrol edin.
  3. Her meydan okumayı kaynağında ele alın. Proxy meydan okuması için gezinmeden önce desteklenen proxy kimlik doğrulamasını yapılandırın. Hedef meydan okuması uygulamanın yetkili iş akışına aittir ve kendi kimlik bilgilerine sahiptir.

Bu çoğu zaman, öğe beklemesi kodunuzun bildirdiği ilk istisna olmadan önce var olan yararlı kanıtları açığa çıkarır. Bir web sitesinin parolasını proxy'ye vermek o önceki belgeyi düzeltemez.

Zamanlayıcıyı başarısız işlemi belirledikten sonra seçin. Gezinme, ağ kurulumu ve öğe beklemeleri farklı sınırlara sahiptir. Gerçekten yavaş bir arayüz daha uzun bir seçici beklemesini haklı çıkarabilir; hata sayfası ise yanlış belge olarak kalır.

Karşılaştırma yaparken tarayıcı oturumunu ve yolu sabit tutun. Proxy'yi, seçiciyi ve tüm tarayıcı durumunu tek bir denemede değiştirmek hangi koşulun önemli olduğunu gizler.

İlgili makaleler