簡體   English   中英

Selenium(PYTHON) 點擊元素直到不再可點擊

[英]Selenium(PYTHON) click element until no longer clickable

所以我制作了一個程序,其中包含一個元素的整個 XPATH,它應該一直單擊該元素,直到它不再可單擊,但它似乎無法正常工作,這里有什么問題?

while True:

    try:
        driver.find_element_by_xpath("//*[@id='trades-container']/div/div[2]/div/div/div/div[1]/div[2]/div/div[2]/div[2]/ul/li[3]/a").click()
        print("item has been clicked")
    except TimeoutException:
        print("done clicking")
time.sleep(1)

我不知道你為什么不使用任何等待時除了超時,

由於使用 class 值禁用該元素,請使用上述方法

classvalue=driver.find_element_by_xpath("//*[@id='trades-container']/div/div[2]/div/div/div/div[1]/div[2]/div/div[2]/div[2]/ul/li[3]/a").get_attribute("class")
 
 while "disable" not in classvalue:       
        driver.find_element_by_xpath("//*[@id='trades-container']/div/div[2]/div/div/div/div[1]/div[2]/div/div[2]/div[2]/ul/li[3]/a").click()
        print("item has been clicked")
        time.sleep(1)

 print("done clicking")

當元素不再像這樣可點擊捕獲錯誤,這似乎不是最佳實踐。 相反,您可以使用element.isDisplayed()element.isEnabled()這兩個函數來檢查元素是否在文檔中顯示和可點擊

如有任何疑問,請查看文檔:

但是,如果您想使用錯誤異常,您可以遵循EAFP 原則並捕獲click()引發的異常:

from selenium.common.exceptions import WebDriverException

try:
    element.click()
except WebDriverException:
    print "Element is not clickable"

暫無
暫無

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

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