Selenium scroll down nasıl yapılır?

Erdemztrk124

Kilopat
Katılım
6 Temmuz 2017
Mesajlar
120
Yer
Amasya/Suluova
Daha fazla  
Sistem Özellikleri
֎RYZEN 5 5500
֎ASUS PRIME A320M-K
֎ADATA XPG 8GB 3200MHZ CL16 X2
֎WD SN570 500GB 3500MB/2300MB
֎ASUS GEFORCE DUAL RTX 3060 V2 OC 12GB
֎VENTO VG10F
֎FSP HYPER H3-550 80+ PRO 550W
Cinsiyet
Erkek
Meslek
BİLGİSAYAR TEKNİKERİ
Merhaba Python'a başlayalı bir ay oldu kendimi geliştirmek için uygulmalar yapıyorum ilgili kod Instagram üzerinden takipçi listesini çekmek için yazdığım bir kod fakat 12 kişi geldikten sonrası gelmiyor scrol kaydırmam gerekiyor fakat ne denediysem işe yaramadı. Pagedown ve space tuşu ile olmadı sonra fare tekerleği ile kaydırma denedim olmadı JavaScript kodunu da denedim yok olmuyor önerebileceğiniz bir yöntem var mıdır acaba?

image.png
 
Merhaba Python'a başlayalı bir ay oldu kendimi geliştirmek için uygulmalar yapıyorum ilgili kod Instagram üzerinden takipçi listesini çekmek için yazdığım bir kod fakat 12 kişi geldikten sonrası gelmiyor scrol kaydırmam gerekiyor fakat ne denediysem işe yaramadı. Pagedown ve space tuşu ile olmadı sonra fare tekerleği ile kaydırma denedim olmadı JavaScript kodunu da denedim yok olmuyor önerebileceğiniz bir yöntem var mıdır acaba?

Eki Görüntüle 2131554
Kodunu düzenledim dostum ama aklında bulunsun. Fotoğraf olarak kod atılmaz bu şekilde kodunu IDE’ye aktarıp debugging sürecimizi oldukça yavaşlatırsın. Lütfen bir dahakine kod bloğunda paylaş kodunu.

Python:
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep

def getFollowers(self):
    self.browser.get(f"https://www.instagram.com/{self.username}/followers/")
    sleep(5)

    followers = self.browser.find_elements(By.CSS_SELECTOR, "._ap3a._aaco._aacw._aacx._aad7._aade")
    sayac = 0

    element_to_click = self.browser.find_element(By.XPATH, '/html/body/div[6]/div[1]/div/div[2]/div/div/div/div/div[2]/div/div/div[3]/div')
    element_to_click.click()

    action = ActionChains(self.browser)

    for i in range(5):
        action.send_keys(Keys.PAGE_DOWN).perform()
        sleep(1)

    sleep(5)

    for user in followers:
        sayac += 1
        print(str(sayac), user.text)
 
Direkt Javascript çalıştırarak en aşağıya scroll edebilirsin.

Python:
driver.execute_script("""
    const el = driver.querySelector('#hedef_element');
    el.scrollTo(0, el.scrollHeight);
""")

Ayrıca hedef elementi almak için ._ap3a gibi class'ları kullanman doğru değil, onlar zaman içerisinde değişiyor, eğer ID falan yoksa direkt div:nth-child(2) > div:nth-child(1) ... > div gibi ulaşman uzun vadede daha faydalı olur.
 
Direkt JavaScript çalıştırarak en aşağıya scroll edebilirsin.

Python:
driver.execute_script("""
 const el = driver.querySelector('#hedef_element');
 el.scrollTo(0, el.scrollHeight);
""")

Ayrıca hedef elementi almak için ._ap3a gibi Class'ları kullanman doğru değil, onlar zaman içerisinde değişiyor, eğer ID falan yoksa direkt div:nth-child(2) > div:nth-child(1) ... > div gibi ulaşman uzun vadede daha faydalı olur.

Cevabınız için teşekkür ederim, hedef element olarak ulaşmaya çalıştığımda ulaşabiliyorum fakat xpath, CSS yolu gibi gösterdiğimde öge bulunamıyor web sitesinin güvenlik önlemi gibi yorumluyorum bunun sebebini veya ben bir yerde bir yanlışlık yapıyorum çözebilmiş değilim.
 

Technopat Haberler

Yeni konular

Geri
Yukarı