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()
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)