繁体   English   中英

硒元素不可交互 - python

[英]Selenium Element not interactable - python

我在 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。

此异常背后的原因:

由于各种原因,可能会发生“ element not interactabe ”异常。

  1. 元素不可见
  2. 元素出现在屏幕外(向下滚动后将显示)
  3. 元素出现在任何其他元素之后
  4. 元素被禁用

对于您的情况,它是定位器,您可以使用下面的定位器单击它。

路径

//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

我已经使用Firstthird XPATH进行了测试,它对我有用,如果这不能解决您的问题,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM