2017-01-08 75 views
1

我想第一次使用HtmlUnit。我正在開發Linux Mint 17.1。 我也是Java新手。我安裝了jenkins-htmlunit,我的java環境是java-7-openjdk-amd64。使用HtmlUnit時出現多個錯誤WebClient.getPage

我發現了下面的例子:

import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 

public class myClient { 
    public static void main(String[] args) throws Exception { 
     WebClient webClient = new WebClient(); 
     HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net"); 
     System.out.println(page.asXml()); 
    }  
} 

然而,執行下面的殼命令後:

的javac -cp 「的/ usr /共享/爪哇/ 」 myClient .java export CLASSPATH = $ CLASSPATH:/ usr/share/java/ java myClient

我收到以下錯誤:在線程 「主要」 顯示java.lang.NullPointerException

異常在 com.gargoylesoftware.htmlunit.javascript.SimpleScriptable.getPrototype(SimpleScriptable.java:247) 在 com.gargoylesoftware.htmlunit.javascript.SimpleScriptable.makeScriptableFor(SimpleScriptable.java:217) 在 com.gargoylesoftware.htmlunit.html.DomNode.getScriptObject(DomNode.java:790) 在 com.gargoylesoftware.htmlunit。 html.HtmlScript.setAndEx ecuteReadyState(HtmlScript.java:457) 在 com.gargoylesoftware.htmlunit.html.HtmlScript $ 1.execute(HtmlScript.java:212) 在 com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:238 ) 在 com.gargoylesoftware.htmlunit.html.HTMLParser $ HtmlUnitDOMBuilder.endElement(HTMLParser.java:699) 在org.apache.xerces.parsers.AbstractSAXParser.endElement(未知 來源)在 com.gargoylesoftware.htmlunit。 html.HTMLParser $ HtmlUnitDOMBuilder.endElement(HTMLParser.java:657) 在 org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1170) 在 org.cyber neko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1072) 在 org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206) 在 org.cyberneko.html.filters.NamespaceBinder.endElement( NamespaceBinder.java:330) 在 org.cyberneko.html.HTMLScanner $ ContentScanner.scanEndElement(HTMLScanner.java:3116) 在 org.cyberneko.html.HTMLScanner $ ContentScanner.scan(HTMLScanner.java:2083) 在org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:918) 在 org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499) 在 org.cyberneko.html.HTMLConfiguration.pars E(HTMLConfiguration.java:452) 在org.apache.xerces.parsers.XMLParser.parse(來源不明)在 com.gargoylesoftware.htmlunit.html.HTMLParser $ HtmlUnitDOMBuilder.parse(HTMLParser.java:901) 在 com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:350) 在 com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:304) 在 com.gargoylesoftware.htmlunit。DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:134) 在 com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:101) 在 com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:449) 在 com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:332) 在 com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:389) 在 com.gargoylesoftware.htmlunit.WebClient.getPage(Web客戶端.java:374) at myClient.main(myClient.java:8)

+0

你的代碼適合我。你正在使用的htmlunit的版本是什麼? – haihui

回答

0

這對我使用最新的快照構建可用時罰款。請切換到最新的快照(本頁有一些有用的詳細信息http://htmlunit.sourceforge.net/gettingLatestCode.html)。 如果您沒有特殊需求,最好使用最新的快照構建,因爲我們正在根據用戶反饋進行定期修復。