2014-01-09 38 views
6

我試圖調用showPage('3');的函數this page,以便使用頁面源代碼之後。我試圖用htmlUnit這樣做:使用HTMLUnit調用JavaScript函數

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

但它不工作。 它打印出來:

結果:[email protected]

等10000個警告。我究竟做錯了什麼?我需要更改此網站的頁面,以便對源代碼進行爬網。有沒有另一種方法(也許更容易)從Java代碼中調用jsp函數,然後在頁面的源代碼中導航? 謝謝你的幫助,祝你有美好的一天。

回答

7

您打印的ScriptResult對象不是頁面的內容,將SOP代碼更改爲result.getNewPage()

+0

ty幫助!! –

+0

歡迎,如果答案爲你工作,然後選擇它作爲正確的答案 – Kick

+0

對象結果= page.executeJavaScript(javaScriptCode).getJavaScriptResult(); \t page.getPage(); System.out.println(「result:」+ result +「\ n」+ page.getPage()); 結果是一個對象,並沒有.getNewPage()或其他方法... –