プロが教える店舗&オフィスのセキュリティ対策術

あるサイトにアクセスした際、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が発生してしまいます。
どうすれば定期的に書き換えられた後の内容が取得できるでしょうか?

A 回答 (1件)

単純な考えかもしれませんが、JavaScriptの処理が必要になるわけで、それなら.NET framework で、IE広げて、コンテンツ表示が完了したあとHTMLソースを取り出したらどうでしょうか?


なんかVBAやらなんやらでIE制御するのがちまたで流行ってるみたいなので・・・
ただし、.Busyやら、.readystate やらのフラグはVBA,JScriptでやったときの経験上当てにならなかったので DocumentCompleteやDownloadCompleteイベントを使うのが吉です
大雑把な回答ですいません
ググればいろいろサンプルが出てくると思います
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!