我第一次尝试HtmlUnit。我在Linux Mint 17.1上开发。 我也是Java的新手。我安装了jenkins-htmlunit,我的java环境是java-7-openjdk-amd64。
我找到了以下示例:
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());
}
}
但是,执行以下shell命令后:
javac -cp“/ usr / share / java / ”myClient.java导出 CLASSPATH = $ CLASSPATH:/ usr / share / java / java myClient
我收到以下错误:
线程“main”中的异常java.lang.NullPointerException at 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.setAndExecuteReadyState(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(未知 来源)at com.gargoylesoftware.htmlunit.html.HTMLParser $ HtmlUnitDOMBuilder.endElement(HTMLParser.java:657) 在 org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1170) 在 org.cyberneko.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.parse(HTMLConfiguration.java:452) 在org.apache.xerces.parsers.XMLParser.parse(未知来源)at 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(WebClient.java:374) at myClient.main(myClient.java:8)
答案 0 :(得分:0)
使用最新的快照构建时,这对我来说很好。请切换到最新快照(此页面上有一些有用的详细信息http://htmlunit.sourceforge.net/gettingLatestCode.html)。 如果您没有特殊需求,最好使用最新的快照构建,因为我们正在根据用户反馈进行定期修复。