Selenium WebDriver-元素是不可单击的Chrome驱动程序

Selenium WebDriver-元素是不可单击的Chrome驱动程序,selenium,webdriver,selenium-chromedriver,Selenium,Webdriver,Selenium Chromedriver,我在Chrome上使用WebDriver,单击元素时出现以下错误: Clicking locator: //div[@id='tabContainer']/ul/li[3]/a/div Element > is not clickable at point (170, 127). Other element would receive the > click: <ul style="left: 5px; top: 25px; display: block;" > cl

我在Chrome上使用WebDriver,单击元素时出现以下错误:

Clicking locator: //div[@id='tabContainer']/ul/li[3]/a/div   Element
> is not clickable at point (170, 127). Other element would receive the
> click: <ul style="left: 5px; top: 25px; display: block;"
> class="jdm_events">...</ul> (WARNING: The server did not provide any
> stacktrace information) Command duration or timeout: 32 milliseconds
> Build info: version: '2.29.0', revision: '58258c3', time: '2013-01-17
> 22:46:35' System info: os.name: 'Windows Server 2008 R2', os.arch:
> 'x86', os.version: '6.1', java.version: '1.7.0_11' Session ID:
> 740bb830a8add9463c23d4461c99acc9 Driver info:
> org.openqa.selenium.chrome.ChromeDriver Capabilities [{platform=XP,
> chrome.chromedriverVersion=26.0.1383.0, acceptSslCerts=false,
> javascriptEnabled=true, browserName=chrome, rotatable=false,
> locationContextEnabled=false, version=25.0.1364.152,
> cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true,
> browserConnectionEnabled=false, webStorageEnabled=true,
> nativeEvents=true, applicationCacheEnabled=false,
> takesScreenshot=true}]
单击locator://div[@id='tabContainer']/ul/li[3]/a/div元素
>在点(170127)处不可单击。其他元素将收到
>单击:左:5px;顶:25px;显示:块
>class=“jdm_事件”>…(警告:服务器未提供任何
>堆栈跟踪信息)命令持续时间或超时:32毫秒
>生成信息:版本:“2.29.0”,修订版:“58258c3”,时间:“2013-01-17”
>22:46:35'系统信息:os.name:'Windows Server 2008 R2',os.arch:
>'x86',os.version:'6.1',java.version:'1.7.0_11'会话ID:
>740bb830a8add9463c23d4461c99acc9驱动程序信息:
>org.openqa.selenium.chrome.ChromeDriver功能[{platform=XP,
>chrome.chromedriverVersion=26.0.1383.0,acceptSslCerts=false,
>javascriptEnabled=true,browserName=chrome,rotatable=false,
>locationContextEnabled=false,版本=25.0.1364.152,
>CSSSelectorEnabled=true,databaseEnabled=false,handlesAlerts=true,
>browserConnectionEnabled=false,WebStorage Enabled=true,
>nativeEvents=true,applicationCacheEnabled=false,
>takesScreenshot=true}]
只有在使用.NET绑定WebDriver通过Grid2并发运行多个测试时,才会发生这种情况

我通常在每次运行的20次测试中有2次失败,但是一次失败的测试可能会在下一次正确运行

我想知道这是否是Chrome驱动程序的一个已知问题,或者是否需要在我的click方法中添加一些东西来处理导致此问题的任何原因

下面是要单击的元素所在的代码示例:

<li class="ui-state-default ui-corner-top">
  <a href="#fundingTab" title="">
    <div class="tab" style="float: left; padding: 0.5em 1em">
     <span style="overflow: visible;">Funding</span>
    </div>
  </a>
</li>
</ul>

  • 因为只有在运行多个测试(本地或某些CI机制)时才会发生,所以也可能是由于上一个测试结束状态的结束而发生,这会影响下一个测试。 例如: 在测试1中,将组件添加到主页面。测试已执行。组件已移除。 在测试2中,组件仍然出现在页面上,这可能会影响测试

    所以,在你的情况下,考虑打开菜单是这样的选项,不是因为悬停,而是因为它在上一次测试中打开了。 希望能有帮助


    另外,关于更改鼠标初始位置的问题-我找到了这个答案,也许它可以帮助您:

    在Olark聊天功能添加到我们的网站后,我遇到了类似的问题。在这种情况下,我将测试设置为在加载页面后执行任何单独测试之前,自动调用OLAK上的disable API


    它确实会降低测试速度,但解决了问题。也许您可以在页面加载后插入一些javascript来隐藏菜单。这假设您不需要测试该菜单。

    这通常是当您试图单击的内容受到阻碍时(即您发现的内容位于另一个元素的后面)…那么当出现此错误时,会显示什么内容?如果这是在您无法访问桌面的服务器上,让您的测试在失败时截图(用try/catch包装)。我在catch块中捕获了截图,左上角的下拉菜单似乎是打开的,“阻止”某些元素。我假设Chromedriver将鼠标位置默认为此处,鼠标悬停将打开该菜单。但是,我还没有找到一种方法来阻止这个悬停事件的发生。我遇到了与您的评论Andrew中描述的相同的问题(即悬停在菜单块元素上)…您如何使用css或Xpath定位您的元素?我看到了您在这里发布的错误消息,我无法理解它,因为您的元素具有xpath的形式,但后面也有一些div标记//div[@id='tabContainer']/ul/li[3]/a/div