描述:
1、明明组件存在,却又无法获取?
2、明明在可视化的界面看到了,就是无法捕获?
3、明明在可视化的界面正常,headless运行还是无法获取?文章来源:https://www.toymoban.com/news/detail-503118.html
目前碰到的这个异常,基本都是以下四个原因导致的:文章来源地址https://www.toymoban.com/news/detail-503118.html
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元素获取异常之 ElementNotInteractableException:element not interactable的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!