Selenium元素获取异常之 ElementNotInteractableException:element not interactable

描述:

1、明明组件存在,却又无法获取?
2、明明在可视化的界面看到了,就是无法捕获?
3、明明在可视化的界面正常,headless运行还是无法获取?

目前碰到的这个异常,基本都是以下四个原因导致的:

ElementNotInteractableException: Message: element not interactable (Session info: headless chrome=xx.xx.xxx.xxx)

解决建议:

1)延迟时间不够,元素还未刷新出来,增加延时time.sleep(2)2)组件有先后顺序或者已被隐藏,查看前面的组件是否正常获取

(3)分辨率不同,前端和后台(headless)的最大化的分辨率不同,需要指定分辨率才能保持一致
# 可以添加参数指定当前主机的分辨率,最大化并不能保持分辨率一致
option.add_argument("--window-size=1960,1080")4)组件覆盖,导致第一次click失败报错说点击被其他组件获取,建议先点击空白处,再进行操作,这种会报错说click事件被其他组件捕获
driver.find_element_by_xpath('/html/body').click()

你可能感兴趣的:(实用类,selenium,测试工具)