【问题标题】:Selenium 2.0 WebDriver IE8 findelement by xpath cannot be evaluated无法评估 xpath 的 Selenium 2.0 WebDriver IE8 findelement
【发布时间】:2014-08-27 22:55:42
【问题描述】:

当我在 Firefox 中运行以下代码时,它可以正常运行,但在 IE8 中它说 xpath 无法评估或不会生成 WebElement。

webDriver.findElement(By.xpath("//input[@id='submitForm']")).sendKeys("\n");

webDriver.findElement(By.xpath("//input[@id='submitForm']")).click();

我尝试过备用 xpath "//div[@id='parameters']/table/tbody/tr[4]/th/input" 但结果相同。

在我看来这是一个IE驱动问题,如果有解决方法请告诉我。

【问题讨论】:

  • 谁能告诉我,上述错误背后的具体原因是什么?我只能在 IE 中看到它。

标签: internet-explorer xpath selenium webdriver


【解决方案1】:

你可以试试下面的方法吗?

webDriver.findElement(By.xpath("//input[string(@id)='submitForm']")).click()

由于 IE 不支持原生 XPath,WebDriver 为此使用了一个名为javascript-xpath 的第三方库,这可能是它的一个错误。

【讨论】:

    【解决方案2】:

    IE 8 需要在 selenium web 驱动程序中强制执行前 3 行

       DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); 
       ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
    
       WebDriver webDriver= new InternetExplorerDriver(ieCapabilities);
    

    请按 Id 更改 Xpath:

     webDriver.findElement(By.id("submitForm")).click();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多