selenium.common.exceptions.ElementNotInteractableException

1. 错误信息

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

2. 错误描述与原因分析

元素不可交互,一般来说是因为HTML中设置了不可见。比如,在一个多级下拉菜单中,往往要求点击一级菜单后,才可以显示二级菜单。如果不点击一级菜单直接使用selenium点击其下的二级菜单就会导致这种错误。

3. 解决方案

使用js修改元素的可见属性,然后使用selenium点击,则不会报错。具体代码如下:

activeJs="document.getElementsByClassName('menu_body').style='display:block'";
browser.execute_script(activeJs);<br />

使用execute_scripts()将js代码传给浏览器执行,将menu_body元素下的菜单变为可见,然后再其下元素即可。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注