在做自动化测试的时候,一些元素点击会产生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)
解决问题。