Selenium ile Sonsuz Kaydırma (Infinite Scroll) İşlemi Nasıl Yapılır?

0 Cavab 4 Baxış
·
İştirakçılar
Mövzunu Açan #1
Selenium ile Sonsuz Kaydırma (Infinite Scroll) İşlemi Nasıl Yapılır?

Günümüzde birçok web sitesi içerik yüklemesini tek sayfa uygulamaları ve sonsuz scroll (scroll down yapıldıkça yeni içeriklerin otomatik yüklenmesi) yöntemiyle gerçekleştiriyor. Bu durumda, klasik sayfa yüklenmesini bekleyerek değil, JavaScript kodlarıyla sayfayı sürekli kaydırarak yeni içeriklerin yüklenmesini sağlamak gerekiyor. Selenium, bu otomasyon işlemi için en çok tercih edilen araçlardan biri.

İlk adım, sayfanın tamamen yüklenmesini sağlamak ve ardından belirli aralıklarla sayfayı aşağı kaydırmak. Bu işlem sırasında, yeni içeriklerin yüklenip yüklenmediğini belirlemek için sayfa kaydırma sonrası belirli elementlerin veya içeriklerin varlığını kontrol etmek gerekebilir. Ayrıca, kaydırma işlemi sırasında sayfanın sonuna gelindiğini anlamak için, sayfa yüksekliği ile karşılaştırma yapabilir veya kaydırma sonrası sayfa yüksekliğinin değişimini izleyebilirsiniz.

Örnek olarak, aşağıda Python ve Selenium kullanarak basit bir sonsuz scroll işlemi gösterilmektedir:

KOD
123456789101112131415161718192021  
from selenium import webdriver  
import time  
  
driver = webdriver.Chrome()  
driver.get("https://ornek-sayfa.com")  
  
[b]Sayfa yüksekliğini alıp, sonsuz scroll yapma[/b]
last_height = driver.execute_script("return document.body.scrollHeight")  
  
while True:  
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")  
    time.sleep(2)  # Sayfanın yeni içerikleri yüklemesi için bekleme  
    new_height = driver.execute_script("return document.body.scrollHeight")  
  
    if new_height == last_height:  
        break  # Sayfa sonuna gelindiğinde döngüden çık  
    last_height = new_height  
  
[b]İşlem sonrası kapatma[/b]
driver.quit()  


Bu temel yapıya, sayfa yükleme sürecine, içerik kontrolüne veya belirli elementleri beklemeye göre geliştirmeler eklenebilir. Özellikle, yüklenmiş içeriklerin doğru şekilde alınıp alınmadığını ve performans optimizasyonlarını dikkate almak önemli. Ayrıca, sayfa yapısına bağlı olarak, JavaScript kodlarını veya Selenium'un bekleme fonksiyonlarını kullanmak, işlemin kararlılığını artırır.

Sonsuz scroll işlemi, veri kazıma (web scraping), otomasyon ve test süreçlerinde sıklıkla karşılaşılan zorluklar içerir. Bu nedenle, sayfa yapısını iyi analiz etmek ve uygun metodolojiyle hareket etmek, başarılı sonuçlar için kritik önemdedir.

Cavab vermək üçün daxil olmalısınız.

Bu mövzunu görüntüləyən istifadəçilər (Cəmi: 2, Üzvlər: 2, Qonaqlar: 0)
Cəmi: 2 (üzvlər: 2, qonaqlar: 0)
0 sitat seçildi