java - HtmlUnit 不适用于 javascript 处理

标签 java web-scraping htmlunit

我几乎尝试了Stackoverflow中提到的所有方法,但没有一个起作用......

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

仅返回一个空页面。应该是javascript问题造成的。我在 HtmlUnit 中尝试了以下技巧:waitForBackgroundJavaScript、刷新、重定向、 sleep 、启用 javascript、click(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());

非常感谢!

最佳答案

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

关于java - HtmlUnit 不适用于 javascript 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938729/

相关文章:

javascript - 如何使用 JavaScript 单击表格内的 anchor 标记

python - 如何在抓取的 Pandas 数据框中的所有列上使用 `str.replace()` 方法?

使用 Java 6、HTMLUnit 和 Bouncy CaSTLe 的 TLSv1 SSL 握手失败

java - 如何确定在 Java 中创建文件时允许的最大路径长度

java - 如何跟踪和保存捕获的异常或记录的数据处理异常事件?

java - 找不到 mediaRouteTheme

java - "FailingHttpStatusCodeException: Too much redirect for"- HtmlUnit 将无法加载

java - 如何创建安装文件服务器

python - 获取selenium中具有相同类名的所有值

java - 如何将 SOCKS 与 HtmlUnit 一起使用?