Selenium:IE11 JAVA中的NoSuchElementException

时间:2016-03-29 07:03:16

标签: java selenium selenium-webdriver internet-explorer-11

我试图在IE11中执行selenium webdriver java代码,即使在页面完全加载后它也会抛出“NoSuchElementException”。

  1. 网络驱动程序:IEDriverServer_Win32_2.53.0
  2. IE版:11
  3. selenium:selenium-server-standalone-2.53.0.jar
  4. java:jdk1.8
  5. 该应用程序由LoginPage和主页组成。在主页中,单击“添加客户”按钮后可以添加客户详细信息。

    登录应用程序正在IE11中成功执行。登录后,为“添加客户”按钮抛出NoSuchElementException。

    以下是selenium Java代码:

         driver.findElement(By.id("btnAddCustToQueue")).click();
    

    以下是jsp代码:

        <DIV class="blueButton floatLeft pie_first-child" id=btnAddCustToQueue onclick=openAddCustomer() _pieId="_158">Add<BR>Customer </DIV>
    

    以下是抛出的异常:

    Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to find element with id == btnAddCustToQueue (WARNING: The server did not provide any stacktrace information)
    

    我已使用显式等待“添加客户”按钮加载。在这种情况下,“TimeOutException”如下所示:

         Exception in thread "main" org.openqa.selenium.TimeoutException: Timed out after 30 seconds waiting for element to be clickable: By.id: btnAddCustToQueue
    

    相同的代码适用于CHROME浏览器。 我不确定最新IE是否有问题。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试一下:

driver.findElement(By.xpath("//DIV[contains(@id,'btnAddCustToQueue')")).click();

如果您上传的HTML是这样的,它应该可以工作

下一次上传您正在尝试的网页,以便我们可以尝试一下,也许可以找到类似的更好方法。