2014-01-09 5 views
6

Ich versuche die Funktion showPage('3'); von this page aufzurufen, um den Seitenquellcode danach zu verwenden. Ich habe versucht, mit htmlUnit wie dies zu tun:Aufruf einer JavaScript-Funktion mit HTMLUnit

WebClient webClient = new WebClient(); 

webClient.waitForBackgroundJavaScriptStartingBefore(10000); 
HtmlPage page = webClient.getPage("http://www.visittrentino.it/it/cosa_fare/eventi/risultati?minEventDate=09012014&maxEventDate=31012014&tp=searchForm.thismonth&ltp=gennaio"); 

String javaScriptCode = "showPage('3');"; 

ScriptResult result = page.executeJavaScript(javaScriptCode); 
result.getJavaScriptResult(); 
System.out.println("result: "+ result); 

Aber es funktioniert nicht. Es druckt:

Ergebnis: [email protected]

und andere 10000 Warnungen. Was mache ich falsch? Ich muss die Seite dieser Seite ändern, um etwas auf den Quellcode zu crawlen. Gibt es einen anderen Weg (und vielleicht einfacher), jsp-function aus Java-Code aufzurufen und dann in der Quelle der Seite zu navigieren? Vielen Dank für jede Hilfe, einen schönen Tag.

Antwort

7

Sie drucken das Script Objekt nicht den Inhalt der Seite, den Code SOP ändern result.getNewPage()

+0

ty für die Hilfe !! –

+0

Willkommen und wenn die Antwort für Sie funktioniert, wählen Sie sie als richtige Antwort – Kick

+0

Object result = page.executeJavaScript (javaScriptCode) .getJavaScriptResult(); \t page.getPage(); System.out.println ("Ergebnis:" + Ergebnis + "\ n" + page.getPage()); Ergebnis ist ein Objekt und nicht .getNewPage() oder etwas so Methode ... –