我試圖從網頁(顯示搜索結果的頁面)提取類項目的數據。具體來說,也就是這個頁面:HTMLUnit不適用於Ajax/Javascript
我只是要提取產品的稱號。
我用下面的代碼:
final WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
final HtmlPage page = webClient.getPage(itemPageURL);
int tries = 20; // Amount of tries to avoid infinite loop
while (tries > 0) {
tries--;
synchronized(page) {
page.wait(2000); // How often to check
}
}
int numThreads = webClient.waitForBackgroundJavaScript(1000000l);
PrintWriter pw = new PrintWriter("test-target-search.txt");
pw.println(page.asXml());
pw.close();
導致不具有對網絡瀏覽器中顯示的產品信息頁面。我想AJAX調用還沒有完成? (不知道雖然。)
任何幫助將不勝感激。謝謝!
如果這不是爲你工作,我可以告訴你一個方法使用一個的HtmlUnit自定義HTTP請求來做到這一點。你還需要這個還是你解決了你的問題? – Arya
我還沒有解決它,所以我很樂意在這方面得到任何幫助。謝謝! –
我絕對還是需要這個。 –