簡體   English   中英

Selenium for 循環每次打印相同的值

[英]Selenium for loop printing the same value each time

我正在嘗試遍歷每個游戲的事件列表,並使用 for 循環檢索事件發生的分鍾。

但是,我的循環不斷打印相同的值,我不知道為什么。 當我打印 i.text 時,我的代碼按預期工作,但是當我嘗試使用 xpath 檢索分鍾時,我一直收到第一個值。

我所期待的

27
37
39

我得到的

27
27
27

我的代碼

    driver = webdriver.Chrome()
    driver.get("https://www.forebet.com/en/football-predictions/predictions-1x2/2021-07-02")
    driver.maximize_window()


    games = driver.find_elements_by_xpath('//div[contains(@class, "rcnt")]')


    for x in games:
        try:
            driver.execute_script("arguments[0].click();", x.find_element_by_class_name("l_scr"))
            time.sleep(1)       
            events = x.find_elements_by_xpath('//div[contains(@class, "lscr_main")]')

            for i in events:
                print(i.text)
                print(i.find_element_by_xpath('//div[contains(@class, "lscr_min")]').text)

            x.find_elements_by_xpath('//div[contains(@onclick, "scoreEvents")]')


        except Exception as e:
            return e

我在這里錯過了什么嗎? 提前致謝。

將睡眠時間增加到 60 並嘗試。

試試這個代碼。

    driver.get("https://www.forebet.com/en/football-predictions/predictions-1x2/2021-07-02")
    elements = driver.find_elements_by_xpath("//b[@class='l_scr']")
    # Tried only for 1st 5 elements
    for i in range(5):
        elements[i].click()
        minv = driver.find_elements_by_xpath("//div[@id='scoreEvents']//div[@class='lscr_min']")
        for val in minv:
            print(val.text)
        time.sleep(2)

輸出是

    39'
    46'
    46'
    70'
    72'
    72'

很快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM