selenium:解决元素不可交互 element not interactable

在做自动化测试的时候,一些元素点击会产生element not interactable,例如选择的弹出的下拉列表。
出现元素不可交互原因可能有:
1、点击事件太快,元素还未加载出来,可以在前面加个等待时间;
2、元素不在页面上,比如hidden的,需要先去掉这个属性再操作;
下面说的是除了这些原因以外的解决方法(选择的弹出的下拉列表):
3、首先使用了元素鼠标悬停的方法:

element = self.driver.find_element(By.XPATH, "//li[text()='学士']")
ActionChains(self.driver).move_to_element(element).perform()

发现还是会报错:
Failed to execute ‘elementsFromPoint’ on ‘Document’: The provided double value is non-finite
4、再修改为执行脚本:

element = self.driver.find_element(By.XPATH, "//li[text()='学士']")
self.driver.execute_script("arguments[0].click", element)

解决问题。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值