【发布时间】:2017-10-22 11:28:41
【问题描述】:
我知道这已经被问过很多次了,但是你如何解决“元素不可交互”异常?
我是 Selenium 的新手,如果我有什么问题,请见谅。
这是我的代码:
button = driver.find_element_by_class_name(u"infoDismiss")
type(button)
button.click()
driver.implicitly_wait(10)
这是 HTML:
<button class="dismiss infoDismiss">
<string for="inplay_button_dismiss">Dismiss</string>
</button>
这是错误信息:
selenium.common.exceptions.ElementNotInteractableException: Message:
在说消息之后实际上什么都没有。
我花了很多时间在网上搜索,但没有找到任何可以解决我问题的东西。非常感谢您的回答。
提前致谢。
编辑:将“w”更改为驱动程序,以便于阅读
更新:我刚刚意识到我找到了错误按钮的 HTML!真正的按钮 HTML 如下:
<button class="dismiss">
<string for="exit">Dismiss</string>
</button>
另外,我使用了答案和 cmets 并编辑了我的代码,如下所示:
button = driver.find_element_by_css_selector("button.dismiss")
w.implicitly_wait(10)
ActionChains(w).move_to_element(button).click(button)
现在我得到一个新错误:
selenium.common.exceptions.WebDriverException: Message: Tried to run command without establishing a connection
错误发生在第 1 行:button = driver.find_element_by_css_selector("button.dismiss")
注意:非常感谢所提供的帮助,谢谢
【问题讨论】:
-
你确定这个按钮是唯一具有
"infoDismiss"类名的元素吗?试试button = w.find_element_by_css_selector("button.dismiss.infoDismiss") -
没有,我刚查了,肯定只有一个
标签: python python-3.x selenium selenium-webdriver webdriver