【问题标题】:getting multiple errors when using HtmlUnit WebClient.getPage使用 HtmlUnit WebClient.getPage 时出现多个错误
【发布时间】:2017-01-08 11:57:30
【问题描述】:

我是第一次尝试 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(未知 来源)在 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(Unknown Source) 在 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) 在 myClient.main(myClient.java:8)

【问题讨论】:

  • 您的代码对我有用。您使用的 htmlunit 是什么版本的?

标签: java webclient htmlunit


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多