• 締切済み

VBブラウザに表示されているテキストを取得したい

Windows7 VB2010のWebBrowserで表示されているテキストを取得することはできますか。

みんなの回答

回答No.2

再度失礼します。 htmlの<div>の中のテキストを取得する場合のサンプルです。 Public Class Form1 Const UR As String = "http://okwave.jp/qa/q8628598.html" Private Sub F() Handles MyBase.Shown WebBrowser1.Navigate(UR) End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted '読み込まれたUrlが一致した場合 If UR = e.Url.ToString Then For Each htm As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div") TextBox1.Text &= htm.InnerText & vbNewLine Next End If End Sub End Class

noname#195773
質問者

お礼

回答ありがとうございます。 #1、#2共に試したのですがだめでした。 実は、自動的に別のページの情報を表示させている様なのです。 ですからWebBrowserで表示している情報はこのプログラムのTextBox1.Textの中に全くありませんでした。 あと一部文字化けしている様です。 DomExplorlerでソースを見るとその中にそのアドレスがありますので、このアドレスを何とか取得できればそれでも問題ないのですが。 それともこの文字化けしている部分がアドレスなのかな。(@@@@@@@となっている所)

noname#195773
質問者

補足

すると、全ての回答が全文表示されます。
回答No.1

こんにちは >テキストを取得することはできますか。 WebBrowserの文字列をぜ~んぶ取得するなら(画像) WebBrowser1.DocumentTextでできます。 Public Class Form1 Const UR As String = "http://okwave.jp/qa/q8628598.html" Private Sub F() Handles MyBase.Shown WebBrowser1.Navigate(UR) End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted '読み込まれたUrlが一致した場合 If UR = e.Url.ToString Then TextBox1.Text = WebBrowser1.DocumentText End If End Sub End Class

noname#195773
質問者

お礼

回答ありがとうございます。 せっかく分かり易く回答いただいたのですが、残念ながらうまく表示されません。 IE 目的のページ → ソースの表示ではちゃんと表示されます。 が、アドレスバーのアドレスの後に元のソースと書かれており、 つまりページが自動的にジャンプする様になっているのです。 この元ソースのアドレスなら、ご呈示いただいたプログラムで問題なく動作します。

すると、全ての回答が全文表示されます。

関連するQ&A