我试图使用selenium + python在wordpress插件上提交一份表单。当我按“发布”按钮时,它会产生错误。
ElementClickInterceptedException:元素单击截获: element type="submit“submit”name=“发布”id=“发布”class=“按钮-主按钮-大”value=“发布”>“不能点击点(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中运行该特定行时,它正在工作。但是,在运行完整的脚本时,它显示了错误。
门户网站上有这么多类似的问题,但都没有奏效。请帮我解决这个问题。
发布于 2019-06-26 19:36:49
好的,答案是错误消息--“其他元素将收到单击:.”--我刚开始使用selenium时遇到了同样的问题。
不知道出了什么问题。“其他元素将收到单击:.”意味着在元素(重叠)上面还有其他元素(弹出窗口,页面在加载时变灰或禁用,某些JS正在运行等),因此当Selenium试图单击元素时,它实际上单击了该阻塞元素。
Selenium运行得非常快,并在其可点击之前单击,这就是为什么您不能单击它--“当我在python控制台中运行该特定行时,它正在运行”尝试在time.sleep() 5-10秒之后单击,或者运行带有调试模式的脚本。
如果是这种情况,那么您可以在查找元素之前使用等待或添加条件来检查阻止单击元素的元素是否在那里,然后单击元素。
https://stackoverflow.com/questions/56779520
复制相似问题