小编Rol*_*one的帖子

如何解决“元素不可交互”的异常?

我知道这已经被问过很多次了,但是如何解决“元素不可交互”的异常呢?

我是Selenium的新手,所以如果我做错了事,请原谅。

这是我的代码:

button = driver.find_element_by_class_name(u"infoDismiss")
type(button)
button.click()
driver.implicitly_wait(10)
Run Code Online (Sandbox Code Playgroud)

这是HTML:

<button class="dismiss infoDismiss">
    <string for="inplay_button_dismiss">Dismiss</string>
</button>
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

selenium.common.exceptions.ElementNotInteractableException: Message: 
Run Code Online (Sandbox Code Playgroud)

在说信息之后,实际上什么也没有。

我花了很多时间在网上搜索,没有找到任何能解决我问题的方法。我真的很感谢一个答案。

提前致谢。

编辑:更改为驱动程序的“ w”,以便于阅读

更新:我刚刚意识到我发现了错误按钮的HTML!实际的按钮HTML如下:

<button class="dismiss">
    <string for="exit">Dismiss</string>
</button>
Run Code Online (Sandbox Code Playgroud)

另外,我使用了答案和注释并编辑了代码,如下所示:

button = driver.find_element_by_css_selector("button.dismiss")
w.implicitly_wait(10)
ActionChains(w).move_to_element(button).click(button)
Run Code Online (Sandbox Code Playgroud)

现在我得到一个新的错误:

selenium.common.exceptions.WebDriverException: Message: Tried to run command without establishing a connection
Run Code Online (Sandbox Code Playgroud)

错误发生在第1行: button = driver.find_element_by_css_selector("button.dismiss")

注意:非常感谢您所提供的帮助,谢谢

python selenium webdriver python-3.x selenium-webdriver

4
推荐指数
6
解决办法
3万
查看次数