【问题标题】:Selenium WebDriver on IE 9, on clicking, links are flashing as if some click event was not completely handledIE 9 上的 Selenium WebDriver,单击时,链接闪烁,好像某些单击事件未完全处理
【发布时间】:2014-07-25 14:40:46
【问题描述】:

这个问题是关于在 Internet Explorer 上运行的 Selenium WebDriver。

在 Internet Explorer 上,基本的 selenium 方法 click() 在大多数情况下都不起作用。 这是我的代码:

System.setProperty("webdriver.ie.driver", "<path_to_iedriverserver>");
DesiredCapabilities d = DesiredCapabilities.internetExplorer();
//d.setCapability("nativeEvents", false);
webdriver = new InternetExplorerDriver(d);
webdriver.get("http://google.co.uk");
webdriver.findElement(By.linkText("Images")).click();
webdriver.findElement(By.linkText("Search")).click();

此脚本通常会成功点击“图片”链接,但在某些情况下,它会在之后点击“搜索”失败。这不是同步问题,当点击之间存在Thread. Sleep() 时会发生同样的问题。此外,如果脚本在此代码之后的断点处停止并且用户尝试手动单击链接,它也不起作用,但是 URL 在 Internet Explorer 状态栏中不断闪烁,就好像某些单击事件没有完全处理一样。当IEDriverServer.exe 进程被杀死时,这个浏览器窗口会再次响应。

这是我的系统信息:

Selenium version: 4.42.2
OS: Windows 7
Browser: IE 9, IEDriverServer_Win32_2.42.0,

【问题讨论】:

  • 在google.co.uk上,点击“图片”链接后,下一页没有“搜索”链接!

标签: internet-explorer selenium selenium-webdriver selenium-grid


【解决方案1】:

在 IE 中,大多数时候click() 不起作用。我已经多次遇到这种情况,我采用了适用于所有浏览器的不同方法。

使用sendKeys(Enter) 代替click() 应该可以。

webdriver.findElement(By.linkText("Images")).sendKeys(KEYS.ENTER));

【讨论】:

    【解决方案2】:

    你也可以考虑调用java脚本点击元素。

    WebElement element = driver.findElement(By.id("value"));
    JavascriptExecutor jse= (JavascriptExecutor)driver;
    jse.executeScript("arguments[0].click();", element);
    

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      相关资源
      最近更新 更多