Python selenium异常:元素在点处不可单击

Python selenium异常:元素在点处不可单击,python,python-2.7,selenium,Python,Python 2.7,Selenium,我最近将selenium升级到最新版本(2.53),将firefox升级到最新版本(45.0.1) 我在相同的网站上运行相同的代码,但突然出现了许多类似这样的异常: WebDriverException:消息:元素在点(312, 8.816665649414062). 其他元素将收到单击: 例如: driver.find_element_by_class_name('my_class_name').click() 有什么新的东西我应该知道吗? 我以前的python selenium版本相当旧,

我最近将selenium升级到最新版本(2.53),将firefox升级到最新版本(45.0.1)

我在相同的网站上运行相同的代码,但突然出现了许多类似这样的异常:

WebDriverException:消息:元素在点(312, 8.816665649414062). 其他元素将收到单击:

例如:

driver.find_element_by_class_name('my_class_name').click()
有什么新的东西我应该知道吗?
我以前的python selenium版本相当旧,我使用的是firefox 38。

以下是我找到的解决方案:

driver.execute_script("arguments[0].click();", element)

它可以工作,并且可靠地单击元素。

为我解决元素问题而使用的解决方案在点(x,y)异常处不可单击

1-更新chrome驱动程序至最新版本2.15

2-获取坐标,然后单击链接或按钮

3-尝试使用Y坐标单击

# Find an element
WebElement elementToClick = driver.findElement(By.xpath("Your xpath"));

# Scroll the browser to the elements Y position 
((JavascriptExecutor)driver).executeScript("window.scrollTo(0," + elementToClick.getLocation().y + ")");

# Click the element
elementToClick.click();

嗯,这里的代码不起作用,因为您试图单击find_elements_by_class_name()返回的数组()。你能给我们看一些具体出现此异常的代码吗?我能想到的唯一一件事是,旧版本的selenium没有正确地识别出在你的目标上显示了其他内容,或者你的应用程序行为发生了变化,因此它现在遇到了一些问题。我纠正了这一点。这是我的密码。我通过实际执行一些javascript来点击按钮,解决了这个问题。它更可靠。这是一个间歇性的问题,很难确定是代码还是(在我疯狂的幻想中)一个系统管理员对抗爬行活动。这个问题已经被提出来了,但绝不局限于Chrome驱动程序。我同意。这真是一件痛苦的事,花了我好几个小时的调试时间。