【问题标题】:Selenium Webdriver - Click() method fails with IE driverSelenium Webdriver - Click() 方法因 IE 驱动程序而失败
【发布时间】:2017-01-16 00:06:35
【问题描述】:

我正在使用带有IE11的IE驱动程序, 对于某些元素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);

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

Selenium WebDriver Click issue in Internet Explorer

Selenium WebDriver on IE 9, on clicking, links are flashing as if some click event was not completely handled

Selenium 2.0b3 IE WebDriver, Click not firing

【问题讨论】:

  • 您使用的是哪个iedriverserver 64-bit32-bit?当你要点击使用WebElement.click()时发生了什么??有什么例外吗??
  • 我用的是32位驱动,使用element.click()没有发现异常
  • 这个元素在 IE 浏览器上是否可以手动正确点击??
  • @SaurabhGaur 我正在使用 64 位操作系统,但 64 位 IEdriver 非常慢,我找到了一些与此相关的解决方案,目前使用 32 位驱动程序,也尝试了 64 位驱动程序但我遇到了同样的问题。
  • 那么您也可以尝试将JavascriptExecutor 用作((JavascriptExecutor)driver).executeScript("arguments[0].cli‌​ck()", yourElement); 的替代解决方案..

标签: internet-explorer selenium selenium-webdriver automation selenium-iedriver


【解决方案1】:

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

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

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

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

【讨论】:

  • 我可以使用 JavascriptExecutor 点击,但是使用这种方式我必须编写单独的点击方法,因为我认为每次点击都使用 JavascriptExecutor 不是一个好方法。
  • 是的,你是对的,你应该创建单独的点击方法为clickByJs()..:)
猜你喜欢
  • 2014-08-08
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2014-09-03
  • 1970-01-01
  • 2016-01-28
相关资源
最近更新 更多