我想使用 if 函式來告訴我在下面給出的代碼中是否單擊了按鈕,如果是,則應輸出“a”,否則應輸出“b”。
element = driver.find_element(By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "css-xf3ahq", " " ))][text()="Button"]')
element.click()
if element == True:
print("a")
else:
print("b")
到目前為止,盡管按鈕是可點擊的,但 b 一直被寫入
uj5u.com熱心網友回復:
try:
element = driver.find_element(By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "css-xf3ahq", " " ))][text()="Button"]')
element.click()
print('Clickable')
except:
print('Not clickable')
只需嘗試單擊它,否則打??印錯誤,如果不是。如果需要,您可以使用 webdriver 檢查是否存在并使用多個例外處理不同的錯誤。不確定你是否可以在這里使用 if 來完成。
uj5u.com熱心網友回復:
Selenium 具有: element_to_be_clickable() 這可能是您嘗試做的更好的解決方案。IE
from selenium.webdriver.support import expected_conditions as EC
try:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(By.XPATH, '//*[contains(concat( " ", @class, " " ), concat( " ", "css-xf3ahq", " " ))][text()="Button"]'))
print('a')
except selenium.common.exceptions.TimeoutException:
print('b')
uj5u.com熱心網友回復:
你可以使用 element_to_be_clicked 條件
像這樣:
element = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.ID, "myDynamicElement"))
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/406964.html
標籤:
下一篇:Selenium不會在沒有root權限的情況下運行顯示WebDriverException:訊息:服務/usr/bin/chromedriver意外退出錯誤
