ElementClickInterceptedException:元素点击被拦截:

时间:2019-06-26 19:04:27

标签: python selenium selenium-webdriver

我正在尝试使用Selenium + python在wordpress插件上提交一种表单。当我按下发布按钮时,它给出了一个错误。

  

ElementClickInterceptedException:元素点击被拦截:Element    type =“ submit” name =“ publish” id =“ publish” class =“ button button-primary button-large” value =“ Publish”>在点(728,15)不可单击。其他元素将获得点击:   ...

我尝试了以下解决方案: 使用了动作驱动程序,但是没有用。 使用了webdriverwait()函数,该函数不起作用。 使用过的Xpath,CSS选择器,ID-在所有三个中都给出相同的错误。

 `    browser.find_element_by_css_selector("""#save-post""").click()

    WebDriverWait(driver, 90).until(EC.element_to_be_clickable((By.ID, "save-post"))).click()
`

请注意,当我在python控制台中运行该特定行时,它正在工作。但是在运行完整脚本时,它会显示错误。

门户网站上有很多类似的问题,但是没有一个起作用。请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

好,答案是错误消息-“ 其他元素将获得点击:... ” 当我刚开始使用硒时,我遇到了同样的问题,无法解决问题所在。 “ 其他元素将获得点击:... ”表示您的元素上方(重叠)有其他元素(弹出窗口,页面变灰(加载时禁用,某些JS运行)),因此,当Selenium尝试单击您的元素时,实际上是单击了该阻止元素。 Selenium的运行速度非常快,并且在它变得可单击之前就单击,这就是为什么您可以单击它-“ 当我在python控制台中运行该特定行时,它正在工作”。请尝试稍后再单击。 sleep()5-10秒如果是这种情况,那么您可以使用等待或添加条件,然后再找到元素来检查阻止单击您的元素的元素是否不存在,然后单击您的元素。