|
.NET TIPS WebBrowserコントロール内のHTML要素からclass属性の値を取得するには?[2.0、C#、VB]デジタルアドバンテージ 遠藤 孝信2009/07/30 |
![]() |
|
|
|
「TIPS:WebBrowserコントロールによりWebページからリンクや画像を抽出するには?」で示しているように、WebBrowserコントロール(System.Windows.Forms名前空間)を使えば、Webページを取得して、そこから特定のタグの要素を抜き出すといったことが可能だ。
このようにして取得したHTML要素は、上記のTIPSでも示しているように、HtmlElementクラス(System.Windows.Forms名前空間)のオブジェクトとして表され、さらにはそのGetAttributeメソッドにより、任意の属性の値も取得できる。
例えば以下のコードは、変数eがHtmlElementオブジェクトを参照しており、その要素のhref属性の値を取得している。
| ||
| href属性の値の取得(上:C#、下:VB) |
ただし、GetAttributeメソッドの利用には1つ大きな注意点があり、class属性の値を取得する場合に限り、その属性名を「className」と記述しなければならない。
| ||
| class属性の値の取得(上:C#、下:VB) | ||
| メソッドの引数には「className」と指定する必要がある。なお、GetAttributeメソッドでは属性名の大文字小文字は区別されない。 |
引数に「"class"」と指定すると、たとえclass属性が存在していても、GetAttributeメソッドの戻り値は空文字となるため注意が必要だ。
ちなみに、JavaScriptのgetAttribute関数においても、IE7まではclass属性値を取得するには引数として「'className'」を指定する必要があったが、IE8では、Firefoxなどのほかのブラウザと同様に、「'class'」と指定できるようになっている(なお、WebBrowserコントロールにおけるGetAttributeメソッドの挙動は、インストールされているIEのバージョンとは関係ない)。
| 利用可能バージョン:.NET Framework 2.0以降 カテゴリ:Windowsフォーム 処理対象:WebBrowserコントロール 使用ライブラリ:WebBrowserコントロール(System.Windows.Forms名前空間) 使用ライブラリ:HtmlElementクラス(System.Windows.Forms名前空間) 関連TIPS:WebBrowserコントロールによりWebページからリンクや画像を抽出するには? |
| 「.NET TIPS」 |
TechTargetジャパン
Insider.NET フォーラム 新着記事
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH


