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

2022年01月15日 阅读数:3
这篇文章主要向大家介绍Selenium元素获取异常之 ElementNotInteractableException:element not interactable,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

描述:

一、明明组件存在,却又没法获取?
二、明明在可视化的界面看到了,就是没法捕获?
三、明明在可视化的界面正常,headless运行仍是没法获取?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()