使用HtmlUnit时遇到多个错误WebClient.getPage

时间:2017-01-08 11:57:30

标签: java webclient htmlunit

我第一次尝试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)

1 个答案:

答案 0 :(得分:0)

使用最新的快照构建时,这对我来说很好。请切换到最新快照(此页面上有一些有用的详细信息http://htmlunit.sourceforge.net/gettingLatestCode.html)。 如果您没有特殊需求,最好使用最新的快照构建,因为我们正在根据用户反馈进行定期修复。