2011-08-14 25 views
3

私はwinformアプリケーションを1つ持っています。C#を使用して実際のHTMLを取得する際の問題

が非表示である1つのdivはHTMLページであるとしましょう。私は、WebクライアントコールまたはHtmlAgilityPack.dll

を使用して、ページのHTMLを取得することができますが、問題は、HTMLのJavaScript実行せずになっているということです...私が説明しましょうjavascriptを使ってstyle = display:none;しかし、私はこれらの技術を使用してhtmlを取得するとき、私はこのdivを隠すことはできません... それは私にそのdivを示しています...

+1

http://stackoverflow.com/q/125177/485076 – sll

+1

あなたがしていることを理解できません。あなたのWindowsフォームアプリケーションについて詳しく説明しますか? –

答えて

1

JavaScriptは一般的にページをレンダリングするときにのみ実行されます。 .net winformsには、Webブラウザコントロールがあります。これをフォームに追加してWebページに移動すると、通常どおりにjavascriptが実行されます。結果のDOM/HTMLを取得する方法のサンプルについては、googleを使用できます。 Webブラウザを表示しないようにするには、代わりにコード内でインスタンス化することができます。失敗した場合は、高さと幅を0に設定してみてください。

+0

私はすでに試してみましたが、Webブラウザのコントロールを置くと、それ自体の問題が発生します。完了したイベントは何度も発生します...そして、私はGoogleのreadystateプロパティが完了するはずでしたが、 readystateプロパティを持つこのイベントは多くの時間を完了します –

+0

これは理想的な解決策ではありませんが、Throttleの反応拡張機能のようなものを使用して、発生回数を減らすことができます。そうすることで、移動するたびに最後のイベントだけを処理できます。 – ForbesLindesay

関連する問題