[英]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.