4

ページで JavaScript コードを実行した後、Web ページのコンテンツを取得しようとしています。たとえば、次のページがあるとします。

<html>
<body>
  test:
  <div id="inner"></div>
  <script type="text/javascript">
    document.getElementById('inner').innerHTML = "Hello World!";
</script>
</body>
</html>

私が抽出したいのは、javascriptの実行後のページなので、レンダリングされたhtmlです:

<html>
<body>
  test:
  <div id="inner">Hello World</div>
</script>
</body>
</html>

htmlUnitで可能ですか?

4

2 に答える 2

3

そのコードでどのような問題が発生しているのかわかりませんが、私にとっては完全に機能します。

そのコンテンツを含むファイルを作成し、ページのコンテンツを取得して得た結果は次のとおりです。

<?xml version="1.0" encoding="ISO-8859-1"?>
<html>
  <head/>
  <body>

  test:

    <div id="inner">
      Hello World!
    </div>
    <script type="text/javascript">
//<![CDATA[

    document.getElementById('inner').innerHTML = "Hello World!";

//]]>
    </script>
  </body>
</html>

必要なコードはこれだけです。

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("the_url");
System.out.println(page.asXml());

この質問も役立つ場合があります。

于 2013-11-07T17:08:57.053 に答える