llegalStateException:无法通过xpath找到com.gargoylesoftware.htmlunit.TextPage的元素

时间:2013-02-13 13:08:40

标签: xpath selenium htmlunit

突然间我的所有测试都停止了工作。我得到的错误信息是

  java.lang.IllegalStateException: Unable to locate element by xpath for com.gargoylesoftware.htmlunit.TextPage@11d1aa6
at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElementByXPath(HtmlUnitDriver.java:796)
at org.openqa.selenium.By$ByXPath.findElement(By.java:344)
at org.openqa.selenium.htmlunit.HtmlUnitDriver$5.call(HtmlUnitDriver.java:1251)
at org.openqa.selenium.htmlunit.HtmlUnitDriver$5.call(HtmlUnitDriver.java:1248)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:991)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1248)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:397)

在线指点

  WebElement menu = driver.findElement(By.xpath("//a[starts-with(@href,'/index.html')]"));

我的驱动程序初始化

public class ExtendedHtmlUnitDriver extends HtmlUnitDriver {

public ExtendedHtmlUnitDriver(boolean enableJavascript) {
    super(BrowserVersion.FIREFOX_10);
    this.setJavascriptEnabled(enableJavascript);
    this.getWebClient().setCssEnabled(false);

}

告诉我出了什么问题!

重新启动计算机似乎解决了这个问题。

1 个答案:

答案 0 :(得分:1)

DomNode是提供getByXPath(String)方法的HtmlUnit类。如果您获得TextPage,那么您不应该使用这样的方法,因为HtmlUnit无法识别结果页面中的DOM树。

PS:我想知道如何重新启动计算机可以解决这个问题。你能提供更多细节吗?