Internet explorer Selenium Webdriver-Click()方法在IE驱动程序中失败

Internet explorer Selenium Webdriver-Click()方法在IE驱动程序中失败,internet-explorer,selenium,selenium-webdriver,automation,selenium-iedriver,Internet Explorer,Selenium,Selenium Webdriver,Automation,Selenium Iedriver,我将IE驱动程序与IE11一起使用, 对于某些元素,单击方法将仅选择一个元素, 它不会执行单击()的操作。 使用ChromeDriver和FirefoxDriver时,相同的脚本工作正常 我已将驱动程序功能设置如下 DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_S

我将IE驱动程序与IE11一起使用, 对于某些元素,
单击
方法将仅选择一个元素, 它不会执行
单击()
的操作。 使用
ChromeDriver
FirefoxDriver
时,相同的脚本工作正常

我已将驱动程序功能设置如下

DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
caps.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
caps.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS, false);
caps.setCapability(InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, false);
caps.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false);
我在以下链接上找到了一些解决方案,但仍然面临相同的问题


很难说为什么它不能在
IE上点击,这可能是它的设计问题

如果您已经尝试了所有可能的方法,但没有成功,请尝试使用
JavascriptExecutor
作为替代解决方案,如下所示:-

((JavascriptExecutor)driver).executeScript("arguments[0].cli‌​ck()", yourElement);

注意:-不应在测试上下文中使用
JavaScript
注入
HTMLElement.click()
。这违背了测试的目的。第一个原因是它不会像真实的
点击(聚焦、模糊、鼠标向下、鼠标右键…
那样生成所有事件,第二个原因是它不能保证真实用户可以与元素交互。但是为了摆脱这个问题,你可以把它看作一个替代的解决方案。

哪个代码> IEDRiver Server < /C> >你使用<代码> 64位还是<代码> 32位< /代码>?当您要使用
WebElement.click()单击时发生了什么??是否有异常??我使用的是32位驱动程序,使用element时没有发现异常。click()是否可以在IE浏览器上正确手动单击此元素???@SaurabhGaur我使用的是64位操作系统,但64位IEdriver非常慢,我找到了一些与此相关的解决方案,因此,目前使用的是32位驱动程序,还尝试了64位驱动程序,但我遇到了相同的问题。然后,您也可以尝试使用
JavascriptExecutor
作为
((JavascriptExecutor)driver.executeScript(“参数[0].cli”)作为替代解决方案‌​ck()”,yourElement)。我可以使用JavascriptExecutor单击,但使用这种方式我必须编写单独的单击方法,因为我认为每次单击都使用JavascriptExecutor不是一个好方法。是的,你是对的,你应该创建单独的单击方法,如
clickByJs()
。:)