Selenium Tweet Çekme Sorunu (Udemy Kursu)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Chrome()
browser.get("https://twitter.com/")
time.sleep(1)

login = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div/main/div/div/div/div[1]/div/a[2]/div")
login.click()
time.sleep(1)

username = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div[2]/main/div/div/div[1]/form/div/div[1]/label/div/div[2]/div/input")
password = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div[2]/main/div/div/div[1]/form/div/div[2]/label/div/div[2]/div/input")

username.send_keys("xxx")
password.send_keys("xxx")

login_button = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div[2]/main/div/div/div[1]/form/div/div[3]/div/div")
login_button.click()
time.sleep(1)

search_button_first = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div[2]/header/div/div/div/div[1]/div[2]/nav/a[2]/div")
search_button_first.click()
time.sleep(1)

search_area = browser.find_element_by_xpath("//*[@id='react-root']/div/div/div[2]/main/div/div/div/div/div/div[1]/div[1]/div/div/div/div/div[1]/div[2]/div/div/div/form/div[1]/div/div/div[2]/input")
time.sleep(4)
search_area.send_keys("#yazilimayolver")
time.sleep(4)
search_area.send_keys(Keys.ENTER)
time.sleep(2)

lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;") #enn aşapıya gidene kadar scroll yapar.
match=False
while(match==False):
    lastCount = lenOfPage
    time.sleep(2)
    lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
    if lastCount == lenOfPage:
        match=True
time.sleep(5)
    
elements = browser.find_elements_by_xpath("//*[@id='react-root']/div/div/div[2]/main/div/div/div/div[1]/div/div[2]/div/div/section/div/div/div[3]/div/div/article/div/div/div/div[2]/div[2]/div[2]/div[1]/div")

u = 1

for i in elements:
    
    print("{}-*******************".format(u))
    print(i.text)
    u += 1


Arkadaşlar merhaba, yukarıdaki kodları yazınca yaklaşıl 40 tweet çekmem gerekirken 1 tane tweet alıyorum ve o da sayfanın ortasından oluyor. Hepsini çekmem için yardımcı olabilir misiniz?

Yukarıdaki kodda lenOfPage’in ilk değeri;

browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")

while içinde lastCount’un ilk değeri ise lenOfPage, yani yukarıdaki ile aynı.
Aşağıdaki if deyimi içerisinde ise lastCount ile lenOfPage birbirine eşit mi diye sorgulama yapmışsın ki zaten eşitler ve eşitlik hiç bozulmuyor gibi. Dolayısıyla döngü 1 kez çalışır. 1 tane sonuç görmenin nedeni bu olabilir. Burası bana hatalı gibi geldi kardeş.

1 Beğeni