Я пытаюсь извлечь данные для проекта класса с веб-страницы (страницы с результатами поиска). В частности, именно эта страница: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 не завершены? (не уверен, хотя.)
Любая помощь будет очень признательна. Благодаря!
Если это не работает для вас, я могу показать вам способ сделать это с помощью пользовательского HTTP-запроса, используя HTMLUnit. Вам все еще нужно это или вы решили свою проблему? – Arya
Я не решил это, поэтому я хотел бы помочь в этом. Благодаря! –
Мне определенно все еще нужно это. –