1

突然、すべてのテストが機能しなくなりました。私が得るエラーメッセージは

  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);

}

何がいけないのか教えてください!

コンピューターを再起動すると、これが修正されたようです。

4

1 に答える 1

1

DomNodeメソッドを提供する HtmlUnit クラスですgetByXPath(String)。を取得している場合はTextPage、HtmlUnit が結果のページで DOM ツリーを認識できなかったため、そのようなメソッドを使用しないでください。

PS: コンピューターを再起動すると、これがどのように修正されたのでしょうか。詳細を教えていただけますか?

于 2013-02-15T14:16:17.877 に答える