我正在使用IE11
的IE驱动程序,
对于某些元素Click
方法只会选择一个元素,
它不会做Click()
的动作。
使用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);
我在以下链接中找到了一些解决方案,但仍面临同样的问题。
答案 0 :(得分:2)
很难说为什么它不能在IE
上点击,可能是它的设计问题。
如果你已经尝试了所有可能性,但没有成功,请尝试使用JavascriptExecutor
作为替代解决方案,如下所示: -
((JavascriptExecutor)driver).executeScript("arguments[0].click()", yourElement);
注意: - JavaScript
注入HTMLElement.click()
不应在测试环境中使用。它违背了测试的目的。首先是因为它不会像真正的click (focus, blur, mousedown, mouseup...)
那样生成所有事件,因为它不能保证真实用户可以与元素交互。但是要摆脱这个问题,你可以将它视为一种替代解决方案。