2017-01-08 3 views
1

Ich versuche HtmlUnit zum ersten Mal. Ich entwickle auf Linux Mint 17.1. Ich bin auch neu in Java. Ich habe jenkins-htmlunit installiert und meine Java-Umgebung ist java-7-openjdk-amd64.mehrere Fehler bei der Verwendung von HtmlUnit erhalten WebClient.getPage

fand ich das folgende Beispiel:

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

Nachdem jedoch die folgenden Shell-Befehle ausführen:

Javac -cp "/ usr/share/java/" myClient .java export CLASSPATH = $ CLASSPATH:/usr/teilen/java/ java myClient

ich folgende Fehler:

Exception in thread "main" java.lang.NullPointerException bei com.gargoylesoftware.htmlunit.javascript.SimpleScriptable.getPrototype (SimpleScriptable.java:247) bei com.gargoylesoftware.htmlunit.javascript.SimpleScriptable.makeScriptableFor (SimpleScriptable.java:217) bei com.gargoylesoftware.htmlunit.html.DomNode.getScriptObject (DomNode.java:790) bei com.gargoylesoftware.htmlunit. html.HtmlScript.setAndEx ecuteReadyState (HtmlScript.java:457) bei com.gargoylesoftware.htmlunit.html.HtmlScript $ 1.execute (HtmlScript.java:212) bei com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage (HtmlScript.java:238) bei com.gargoylesoftware.htmlunit.html.HTMLParser $ HtmlUnitDOMBuilder.endElement (HTMLParser.java:699) bei org.apache.xerces.parsers.AbstractSAXParser.endElement (Unbekannt Quelle) bei com.gargoylesoftware.htmlunit. html.HTMLParser $ HtmlUnitDOMBuilder.endElement (HTMLParser.java:657) bei org.cyberneko.html.HTMLTagBalancer.callEndElement (HTMLTagBalancer.java:1170) bei org.cyber neko.html.HTMLTagBalancer.endElement (HTMLTagBalancer.java:1072) bei org.cyberneko.html.filters.DefaultFilter.endElement (DefaultFilter.java:206) bei org.cyberneko.html.filters.NamespaceBinder.endElement (NamespaceBinder.java:330) bei org.cyberneko.html.HTMLScanner $ ContentScanner.scanEndElement (HTMLScanner.java:3116) bei org.cyberneko.html.HTMLScanner $ ContentScanner.scan (HTMLScanner.java:2083) bei org.cyberneko.html.HTMLScanner.scanDocument (HTMLScanner.java:918) bei org.cyberneko.html.HTMLConfiguration.parse (HTMLConfiguration.java:499) bei org.cyberneko.html.HTMLConfiguration.pars e (HTMLConfiguration.java:452) bei org.apache.xerces.parsers.XMLParser.parse (Unknown Source) bei com.gargoylesoftware.htmlunit.html.HTMLParser $ HtmlUnitDOMBuilder.parse (HTMLParser.java:901) bei com.gargoylesoftware.htmlunit.html.HTMLParser.parse (HTMLParser.java:350) bei com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml (HTMLParser.java:304) bei com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage (DefaultPageCreator.java:134) bei com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage (DefaultPageCreator.java:101) bei com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto (WebClient.java:449) bei com.gargoylesoftware.htmlunit.WebClient.getPage (WebClient.java:332) bei com.gargoylesoftware.htmlunit.WebClient.getPage (WebClient.java:389) bei com.gargoylesoftware.htmlunit.WebClient.getPage (WebClient .java: 374) bei myClient.main (myClient.java:8)

+0

Ihr Code funktioniert für mich. Welche Version von htmlunit verwenden Sie? – haihui

Antwort

0

Das funktioniert gut für mich, wenn ich die neueste Snapshot-Version verwende. Bitte wechseln Sie zum letzten Schnappschuss (auf dieser Seite finden Sie einige hilfreiche Details) http://htmlunit.sourceforge.net/gettingLatestCode.html). Wenn Sie keine speziellen Bedürfnisse haben, ist es immer eine gute Idee, die neueste Snapshot-Version zu verwenden, da wir regelmäßig Korrekturen basierend auf Benutzer-Feedback vornehmen.

Verwandte Themen