1

我正在使用带有 的 IE 驱动程序IE11,对于某些元素Click方法只会选择一个元素,它不会执行Click(). 使用ChromeDriverFirefoxDriver相同的脚本工作正常。

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

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);

我在以下链接上找到了一些解决方案,但仍然面临同样的问题。

Internet Explorer 中的 Selenium WebDriver 单击问题

IE 9 上的 Selenium WebDriver,单击时,链接闪烁,好像某些单击事件未完全处理

Selenium 2.0b3 IE WebDriver,点击不触发

4

1 回答 1

2

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

如果您尝试了所有可能性,但没有成功,请尝试使用JavascriptExecutor以下替代解决方案:-

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

注意:-不应在测试环境中使用JavaScript注入。HTMLElement.click()它违背了测试的目的。首先是因为它不会像真实的那样生成所有事件click (focus, blur, mousedown, mouseup...),其次是因为它不能保证真实的用户可以与元素进行交互。但是要摆脱这个问题,您可以将其视为替代解决方案。

于 2016-09-08T08:13:46.223 回答