HtmlUnit不适用于javascript处理

时间:2012-12-18 17:56:00

标签: java web-scraping htmlunit

我已经尝试了Stackoverflow中提到的几乎所有方法,但它们都没有工作......

我正在尝试使用HtmlUnit抓取以下页面: http://www.nseindia.com/corporates/offerdocument/past_issue_document.htm

只返回一个空白页面。它应该是由javascript问题引起的。我尝试在HtmlUnit中执行以下技巧:waitForBackgroundJavaScript,刷新,重定向,睡眠,启用javascript,单击(true,true,true)等。它们都没有工作......

任何建议:

我的代码:

String url = "http://www.nseindia.com/corporates/offerdocument/past_issue_document.htm";
WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_8);
webClient.setJavaScriptEnabled(true);
HtmlPage page = (HtmlPage) webClient.getPage(url);
this.getWebClient().waitForBackgroundJavaScriptStartingBefore(5000);
System.out.println(page.asXml());

非常感谢!

1 个答案:

答案 0 :(得分:1)

我曾遇到过类似的问题。我通过使用firefox dev插件来解决这个问题,该插件记录了javascript页面所做的所有请求。然后我直接从HtmlUnit模拟这些请求(只需从请求日志中获取请求,粘贴它们并注入通常很容易识别的sessionid misc参数。在使用大量ajax处理网站时特别有用。