• 締切済み

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

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

noname#195773
noname#195773

みんなの回答

回答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

  • VB.net で Webbrowserコントロールで表示しているテキスト全体を取得したい

    VB.net で Webbrowserコントロールで特定のURLを読み込んでいます。 表示されているのはHTMLタグも含まずXMLでもなく ただの文字列です。 この文字列全体を取得するにはどうすればよろしいでしょうか?

  • URLをテキストボックスに表示したい vb2008

    Private Sub 移動CB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 移動CB.Click WebBrowser1.Url = New Uri(アドレスTextBox.Text) アドレスTextBox.Text = WebBrowser1.Url End Sub アドレスTextBoxにURLを手動で入力して、移動CBを押すと指定したサイトがWebBrowser1に表示されます。 そこでそのサイト内のURLをクリックしたときに新しいURLをアドレスTextBoxに表示させたいのですがうまくできません。 アドレスTextBox.Text = WebBrowser1.Urlがurlだとビルド失敗になってしまいます。 なので アドレスTextBox.Text = WebBrowser1.Text にしてみたのですがうまくできません。 どうすればいいのでしょうか?よろしくお願いします。

  • ウェブブラウザに直接に表示するには?

    (VB6) テキストボックスにHtmlのソース文字列が入っています。これをWebBrowserコントロールに表示するにはどうすればいいでしょうか? 例えば、テキストボックスに <html> <head> aaa </head> <body> bbb </body> </html> という文字列が入っているときに、WebBrowserにこのHtmlを表示させるにはどうすればいいでしょうか? htmlファイルを読み込んで表示させる方法は分かったのですが、htmlのソースの文字列を直接に表示する方法が分かりませんでした。 そもそも、こんなことが出来るのかどうかもわかりませんが、よろしくお願いいたします。

  • VB6でブラウザのページソースを取得したい。

    VB6を使用しています。 ブラウザに表示されたページのHTMLソースを テキスト形式で保存もしくは、画面上に表示させ、 任意の行の値を取得したいと思っています。 このようなことは、可能でしょうか?

  • VB6のWebBrowserコントロールのテキストボックスについて

    VB6でWebBrowserコントロールを使用してテキストボックスを表示しており。テキストボックス内の入力文字列がSelect(反転表示され選択されている状態)されている場合に、Select状態を解除する方法を知りたいのですが、よろしくお願いいたします。

  • WEB BROWSERについて(VB2005 Express Edition)

    無料のExpress Editionが出たので、VBからがんばっている初心者です。 ツールBOX内にある、WEB BROWSERについて教えてほしいのですが、 とあるWEBサイトにあるTXTファイルを、VBのTEXTBOX内に取り込みたいのですが、WEBBROWSERは、見るだけしかできないのでしょうか? WEBBROWSER1.TEXT = TEXTBOX1.TEXT 見たいな事をしても表示されません。 WEBBROWSER以外の良い方法でもありましたら 教えてください。。 お願いします。。

  • WebBrowserでAタグ取得

    VB9でWebBrowserを使ってホームページにアクセスしているのですが、 そのページにある全てのAタグのURLとAタグの表示テキストを取得したいのですが、どのようにすれば良いでしょうか? WebBrowser1.Navigate(URL) ...待ち 受信完了 ここまではできています。 この後のAタグを取得するコードが知りたいです。

  • VB2005のWebbrowserについて

    VB2005のWebbrowserでYahoo検索した時に表示されるリンクテキストの文字を取得したいのです。 WebbrowserでYahoo検索した時に、検索で一致したサイトのサイト名(例:「アルバイト[バイト]から社員の求人まで、仕事探しはタウンワーク」「仕事 - Wikipedia」等)取得したいのですがこの部分だけを取得する方法はあるのでしょうか? 検索ヒットが10件あれば10件すべて取得したいです。 よろしくお願いします。

  • WebBrowserに表示されているページのソースの取得方法

    RichTextBox1.Text =WebBrowser1.Document.body.innertext とすれば表示されている文字は取得できるのですがタグ付きのソースは 取得できません。 webBrowserコントロールに表示されている文字だけでなくタグもいっしょに 取得するにはどうすればよいのでしょうか

  • 【C#】WebBrowser上で表示されているテキストの部分取得

    こんにちは,いつもお世話になっています. C#を用いて,ローカルに保存したhtmlファイルをwebBrowserで表示し, そこに表示されたテキストの一部をマウスで選択してボタンアクションで取得するような機能を実現したいと考えています. 現在WebBrowser.Document.Body.InnerText.Substring(int, int)を使用して選択された文字列を取得しようと考えているのですが, ブラウザで表示されているテキストにはtextBoxでいうところのselectionStartsやselectionLengthのようなプロパティがありません. どのようにしたら可能になるでしょうか. もちろん目的の機能が実現できるならば上記の方法にこだわるつもりはありません. 他に何か方法がありそうでしたらそちらも教えていただけないでしょうか. プログラミング初心者ですので質問の仕方に至らない部分があるとは思いますが, どうぞよろしくお願いいたします.

専門家に質問してみよう