2016-03-21 94 views
1

我最近已将硒升级到最新版本(2.53),并将Firefox升级到最新版本(45.0.1)。硒异常:元素不可点击

我运行在同一个网站上相同的代码,但我突然有很多例外是这样的:

WebDriverException:消息:元素是不是在点点击(312 8.816665649414062)。其他元素将收到点击:

例如:

driver.find_element_by_class_name('my_class_name').click() 

是否有新的东西,我应该知道的? 我以前的蟒蛇硒的版本是相当老了,我是在火狐38

+0

好,因为你试图点击()的阵列,这是returne在你这里的代码是行不通的d通过find_elements_by_class_name()。你能告诉我们更多的代码,你明确知道这个例外吗? –

+0

我能想到的唯一的事情是硒的旧版本没有正确认识到目标上显示了其他内容,或者您​​的应用行为已经发生变化,因此它现在已经有了一些东西。 –

+0

我纠正了这一点。这是我的代码。我通过实际执行一些JavaScript来点击按钮来解决问题。这更可靠。 – DevShark

回答

1

这是我找到了解决办法:

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

它的工作原理,并可靠地点击元素。

0

解决方案,能为我工作,以解决元素不是在点(x,y)的异常

1更新的镀铬驱动器可点击最新一期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();