- 締切済み
c# 動的に書き換わるHTMLを取得するには
あるサイトにアクセスした際、ajaxで動的に内容が書き換わるため、WebBrowserDocumentCompletedEventHandlerでeventを拾うことがきません。 (当然なのはわかっています。) wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted); private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { Console.WriteLine(wb.Document.Body.OuterHtml); ここではhtmlがみれるのですが、ajaxで書き換えられる前のソースになります。 } この後に別のメソッドで Console.WriteLine(wb.Document.Body.OuterHtml); とすると System.Threading.ThreadAbortExceptionが発生してしまいます。 どうすれば定期的に書き換えられた後の内容が取得できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ralf124c
- ベストアンサー率52% (232/446)
単純な考えかもしれませんが、JavaScriptの処理が必要になるわけで、それなら.NET framework で、IE広げて、コンテンツ表示が完了したあとHTMLソースを取り出したらどうでしょうか? なんかVBAやらなんやらでIE制御するのがちまたで流行ってるみたいなので・・・ ただし、.Busyやら、.readystate やらのフラグはVBA,JScriptでやったときの経験上当てにならなかったので DocumentCompleteやDownloadCompleteイベントを使うのが吉です 大雑把な回答ですいません ググればいろいろサンプルが出てくると思います