VB.NETでブラウザのテキストを取得する

ブラウザに表示されているテキストを取得したい場合があります。
VB.NET 2005 ExpressやVB.NET 2008 Expressでは、WebBrowserコントロールがあるので、
WebBrowserコントロールをフォームに貼り付けて、


'WebBrowser1にフォーカスを移して
WebBrowser1.Focus()
'全て選択して
SendKeys.Send("^A")
'コピー
SendKeys.Send("^C")


とやってみましたが、うまくいきませんでした。
FocusをSelectに変えても、ダメでうまくフォーカスが移らないような感じでした。

HTMLで取得する場合は、WebBrowser1.Document.body.innerHTML
とやればよく、タグをはずしたいのなら、正規表現でやればいいような気もしますが、
WebBrowser1.Document.body.innerTextとやれば、簡単にテキストのみ取れてしまいます。
実際に、選択して、コピーしたものとは少し違うかもしれませんが、
HTMLのタグが混ざっているものよりは役に立ちそうです。

これは、VB.NET 2005やVB.NET 2008のWebBrowserコントロールだけでなく、
VB.NET 2002やVB.NET 2003でshdocvw.dllを参照して、IEを使っている場合も、
多分大丈夫です。
posted by VB.NET+MSDE+ActiveReports at 19:20 | Comment(0) | TrackBack(0) | VB.NET
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/11133953