java - 使用 Java 在 Internet Explorer 上运行的 WebDriver 中出现 "No element is found"异常

标签 java internet-explorer gwt webdriver selenium-webdriver

我们想将测试转移到 selenium 2,但我发现了一个我不知道如何解决的问题。

我正在为 webdriver 使用以下命令:

WebDriver driver = new InternetExplorerDriver();
driver.navigate().to("webapp");
Thread.sleep(3000);
System.out.println(driver.getPageSource());
WebElement element = driver.findElement(By.id("someid"));

在最后一行引发异常并且没有找到元素。 同样的示例在 firefox 中运行良好,但我们需要在 IE 中使用它。 我试过增加 sleep 时间,但无济于事。 getPageSource 方法返回正确的 html。

我也尝试使用以下命令获取 body 标签,但它返回 null。

List<WebElement> list = driver.findElements(By.tagName("body"));

我们的 Web 应用程序是在 gwt 中创建的。

你知道 Selenium 看不到任何元素的原因吗?

最佳答案

您发布的代码绝对没有问题。

确保您使用一些较新的 Selenium 版本,而不是一些旧的 alpha/beta 版本。您使用哪个 IE,它是否有任何特殊的附加组件?它适用于像这样的一些最小网页吗?

<html>
<input id='myId' />
</html>

您是否尝试过搜索其他元素?通过其他一些技术,如 xpath 或 css 选择器?你的大小写绝对正确吗?如果您保存页面的 html 并尝试使用所述测试用例在本地加载它,它是否有效?你能提供一个最小的测试用例吗?作为不太可能工作的最后解决方案,您可以尝试回退到 Selenium 1 以获得两行代码,这些代码有助于在极少数情况下等待:

Selenium sele = new WebDriverBackedSelenium(driver, "webapp");
sele.waitForPageToLoad("10000");

关于java - 使用 Java 在 Internet Explorer 上运行的 WebDriver 中出现 "No element is found"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584365/

相关文章:

html - IE 自动化 : How to click on div

java - 如何在 Chrome 扩展中使用 GWT 获取当前页面 URL?

java - 在GWT中添加html和java脚本代码

java - 使用 GWT 开发类似 google maps 的 Ajax 客户端

java - 使用 Logback 和 SocketAppender 记录对象

java - 具有自定义按钮类的 ActionListener (Java)

java - 如何在模板 Thymeleaf 中调用使用 Java (Spring) 创建的函数?

Java - long 显示错误值

javascript - $.parseJSON 在 Internet Explorer 10 中不工作

javascript - 如何在 IE 上使用 JavaScript 将 UTF-8 编码的文件写入用户计算机?