簡體   English   中英

Python Selenium,無法循環點擊按鈕列表

[英]Python Selenium, Can not click list of button in a loop

收集按鈕元素列表作為列表。 但是當我使用 execute_script() 單擊一個和 go 回到上一個時,我無法單擊任何其他按鈕。

btnContainer = self.driver.find_elements(By.XPATH,"//div[@class='mx-0']")
for item in btnContainer:
    item.click()
    time.sleep(3)
    self.driver.execute_script("window.history.go(-1)")

注意。 該代碼適用於列表中的第一個元素,然后中斷。 錯誤是“元素未附加到頁面文檔”。我嘗試在新選項卡中打開按鈕,但網站不支持在新選項卡中打開按鈕。

有什么辦法可以解決這個問題嗎?

當加載新站點時,對先前 webelements 的引用將丟失,因此您必須再次找到這些元素。 要做到這一點,只需在索引i上運行一個循環,您可以在其中找到所有按鈕,select 是第 i 個按鈕。

for i in range(999):
    btnContainer = self.driver.find_elements(By.XPATH,"//div[@class='mx-0']")
    if i < len(btnContainer):
        item = btnContainer[i]
        item.click()
        time.sleep(3)
        self.driver.execute_script("window.history.go(-1)")
        time.sleep(3)
    else:
        break

暫無
暫無

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

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