我们在进行selenium UI自动化测试时,可能会遇到元素可以定位到,但不可点击的情况,按钮点击报错:selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <button type="button" class="ant-btn ant-btn-primary">...</button> is not clickable at point (1013, 212). Other element would receive the click:
一般点击方法为:
driver.find_element_by_xpath('表达式').click() # 普通的元素点击方式
这个问题有三种解决方式:
方式一:
element = driver.find_element_by_xpath("表达式")
driver.execute_script("arguments[0].click();", element)
方式二:
element = driver.find_element_by_xpath('表达式')
webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()#使用鼠标点击
方法三:
driver.find_element_by_xpath('表达式').send_keys(Keys.ENTER) # 使用键盘回车键的方式
这两三方式都可以解决此问题。
注:JS动态加载 不可交互式元素的 input 点击事件。其他的提示无法找到元素标签的,可以在代码前,添加:time.sleep(你的秒数),前提是要导入time 函数。
或者是 : driver.refresh() #刷新网页/加载网页