分類:[VB.NET/VB2005 以降]
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10357
を参考にしてHTMLの解析をしているのですが、
うまくいく時と行かない時があって困っています。
以下のようにして
<div class="TEST">〜〜〜</div>
を取得しています。
1|Dim WebBrowser1 As New WebBrowser
2|'ソースをセット
3|WebBrowser1.DocumentText = html
4|While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
5| Application.DoEvents()
6|End While
7|'DIVタグの部分を取得する
8|Dim Elements As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
9|
10|'class="TEST" の部分をmsgboxにて表示
11|For Each e As HtmlElement In Elements
12| If e.GetAttribute("className") = "test" Then
13| msgbox( e.OuterHtml )
14| End If
15|Next
しかしこの e.OuterHtml がとれたりとれなかったりします。
そこで、試しにe.OuterHtmlが空だった場合に3行目にGOTOで戻してみたところ、取得出来ました。
どうも4〜6行目の読み込むまで待つ部分がうまく動いてないのではないかと思います。
# 取得できなかった時のWebBrowser1.DocumentText をデバッグで見てみたところ
# <html></html>
# となっていました・・
どのようにしたら、ちゃんと読み込むまで待つことができますでしょうか?
|