click()不生效ElementNotInteractableException: Message: element not interactable

python+selenium做UI自动化的时候,定位方式没有错误,但是就是点击不到元素,有以下三种解决方案:

  • 1.加上等待 sleep(5) 等待页面加载完成再点击
  • 2.等待元素的状态是可点击后,再点击元素,加一个超时时间,自己设置,我设置的是20s
# 使用等待
key = WebDriverWait(web_ui.driver, 20).until(
            expected_conditions.element_to_be_clickable((By.XPATH, '//*[@id="na"]/div[1]/ul/li[8]/div')))
# 点击
key.click()

如果上面两种方式都不行,且第二个报错
selenium.common.exceptions.TimeoutException: Message
那就用第三种方案:

  • 3.直接使用js操作页面,解决click()不生效的问题
a= self.find_element(xpath="//*[text()='test']")
self.actions.move_to_element(a).perform()
self.driver.execute_script("arguments[0].click();", a)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。