1

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

非常感谢!

4

1 回答 1

1

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

于 2012-12-18T18:09:40.793 回答