1

Stackoverflow に記載されているほとんどすべての方法を試しましたが、どれも機能しませんでした...

HtmlUnit を使用して次のページをスクレイピングしようとしています: http://www.nseindia.com/corporates/offerdocument/past_issue_document.htm

空のページだけが返されました。JavaScriptの問題が原因である必要があります。HtmlUnit で以下のトリックを試みました:waitForBackgroundJavaScript、refresh、redirect、sleep、enable 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());

どうもありがとう!

4

1 に答える 1

1

私はかつて同様の問題を抱えていました。javascriptページが行うすべてのリクエストをログに記録するfirefox devプラグインを使用して回避しました。次に、これらのリクエストを HtmlUnit から直接エミュレートしました (リクエスト ログからリクエストを grep し、貼り付けて、通常は簡単に識別できる sessionid のその他のパラメーターを挿入するだけです。特に、多くの ajax を使用するサイトを扱う場合に役立ちます。

于 2012-12-18T18:09:40.793 に答える