C# Selenium IWebElement.Click()不';我不能断断续续地工作

C# Selenium IWebElement.Click()不';我不能断断续续地工作,c#,selenium,internet-explorer-11,internet-explorer-driver,C#,Selenium,Internet Explorer 11,Internet Explorer Driver,因此,这类似于,但有几个重要区别: 不是时间问题,因为我反复尝试单击它直到成功 没有抛出异常,只是什么都没有发生 在同一个元素上使用JS单击可以工作-executor.executeScript(“参数[0]。单击();”,元素) 改为使用button.SendKeys(Keys.Return)工作 显示:true和启用:true 只有button.Click()不起作用。我已经在断点处停止了应用程序,现在正在通过即时窗口对其进行测试。我可以看到Click()没有效果,也不会抛出异常,但是j

因此,这类似于,但有几个重要区别:

  • 不是时间问题,因为我反复尝试单击它直到成功
  • 没有抛出异常,只是什么都没有发生
  • 在同一个元素上使用JS单击可以工作-
    executor.executeScript(“参数[0]。单击();”,元素)
  • 改为使用button.SendKeys(Keys.Return)工作
  • 显示:true
    启用:true
只有button.Click()不起作用。我已经在断点处停止了应用程序,现在正在通过即时窗口对其进行测试。我可以看到Click()没有效果,也不会抛出异常,但是javascript Click()和SendKeys()可以工作

其他一些信息:

  • 我在IE11上使用InternetExplorerDriver
  • 我正在通过远程桌面在Windows Server 2012上运行测试
  • 它只是间歇性地发生。我记得每次测试运行时都会切换Alt+Tab,但我不知道这是否是原因
知道发生了什么吗

编辑:我注意到在一个点,第一次点击按下按钮(可见),但它没有得到点击。但是,第二次单击成功。之前的Click()没有成功,不管我执行了多少次

编辑2:好的,现在我已经搞定了-如果我单击浏览器窗口,然后单击Visual Studio,那么第一次单击()不起作用。即使VS仍然处于焦点状态,后续的单击也会起作用。从VS切换到记事本再切换到VS不会触发它,只会切换到IE再切换回VS


这不是IE没有焦点的问题,它是关于它,然后失去它,然后下一个点击()将失败。

< p>在我的情况下,CONTOL部分地与另一个DIV重叠,并且WebRealter点击控制中间,但是它被窃听了。您可以检查它是否是您的情况。

从您的描述中,看来你已经找到了问题所在。在我看来,我认为这可能也与IE相比其他浏览器相对较慢有关,因此,您可以尝试使用waits查找元素。因此,要在IE浏览器中单击按钮元素,最好将焦点放在IE窗口上,或者使用JavaScript或SendKeys方法单击它。是的,我切换到JavaScript进行单击,现在没有问题了。