我在 python 中撰寫了一個簡單的應用程式,但是當嘗試單擊一個按鈕時,我得到一個錯誤 Element not interactable。這是發生它的代碼的一部分。我確實等待元素渲染。
WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.XPATH, '//*[@id="root"]/div[2]/div/div/div[2]/ul/li/button')))
driver.find_element(By.XPATH, '//*[@id="root"]/div[2]/div/div/div[2]/ul/li/button').click()
該錯誤發生在此網站上:https ://magiceden.io/單擊右上角的連接錢包,然后嘗試在打開的視窗中單擊 Phantom。
uj5u.com熱心網友回復:
此例外背后的原因:
“ element not interactabe”例外可能由于各種原因而發生。
- 元素不可見
- 元素出現在螢屏外(向下滾動后將顯示)
- 元素出現在任何其他元素之后
- 元素被禁用
對于您的情況,它是定位器,您可以使用下面的定位器單擊它。
路徑
//header/nav[1]/div[2]/div[2]/div[1]/button[2]
或者
//button[contains(@xpath,'1')]
或者
(//button[contains(.,'Connect Wallet')])[1]
語法應該像
element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "myXpath")))
element.click();
進口
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
我已經用First和third XPATH進行了測驗,它對我有用,如果這不能解決您的問題,請告訴我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497448.html
上一篇:如何使用ChromeDriver找到具有Web元素特定屬性的所有后代
下一篇:定位具有動態屬性的元素
