Python Selenium ile sayfa kaydırmada ürünler bulunmuyor

01yildizmustafa

Centipat
Katılım
4 Eylül 2022
Mesajlar
65
Çözümler
2
Daha fazla  
Cinsiyet
Erkek

Python Selenium ile Amazon'dan ürün verisi çekmek istiyorum. Ürün verilerini başarılı da bir şekilde çekiyorum. Döngüyü kurduğumu zannediyorum ama bir sorunla karşılaşıyorum.
Xpathleri doğru olmasına rağmen diyelim ki 6. 7. 8. ve 9. ürünler bulunamadı diye hata alıyorum. Oysa 2, 3 ve 4. ürünü buluyor. ilgili verileri çekiyor ve ekrana yazdırıyor. Aynı şekilde 10, 11, 12, 13. ürünleri falan da buluyor ve yine veri çekiyor.

Sorun zaman değil. Kodların GitHub linkini attım. Bayağı zaman verdim. Sayfa yükleniyor yani.
Tahmin ediyorum ki scroll'la ilgili bir şey. Çünkü scrolla ilgili olan kodla oynayınca bulamadıgı ürün sayısı artıyor azalıyor.
Her zaman aynı ürünleri bulamıyor değil. Karışık. Bazen 7.yi bulamıyor bazen 10.yu.

Yardım ederseniz çok sevinirim.
 
Son düzenleyen: Moderatör:
Python:
ürün_xpath = f"//*[@id='search']/div[1]/div[1]/div/span[1]/div[1]/div[{i+1}]"
ürün = wait.until(EC.visibility_of_element_located((By.XPATH, ürün_xpath)))
ürün.click()

Bu kısmı şu şekilde düzenledim:

Python:
ürün_xpath = f"//*[@id='search']/div[1]/div[1]/div/span[1]/div[1]/div[{i+1}]//a[1]"
ürün = wait.until(EC.visibility_of_element_located((By.XPATH, ürün_xpath)))
browser.get(ürün.get_attribute("href"))

div'e tıklatmak yerine div'in içindeki ilk a elementinin href'ini yani ürünün bağlantısını çekip browser.get() yapıyorum.

Tahminimce ürün.click() yapınca div'e tıklamaya çalışırken tam a elementine tıklayamayabiliyor. Ürünün bloku, tıklanabilir bölgeden daha büyük:

1715674559613.png
1715674579560.png

Tabii tıklanabilir tek bölge ürün resmi değil ama asıl olay, bu blokun her yerine tıklanamaması; daha doğrusu, tıklayınca ürün sayfasına yönlendiremeyebilmesi. Ürün sayfasına gidemeyince script galiba satıcı_ismi = ... satırında bir süre bekledikten sonra hata veriyor.
 

Geri
Yukarı