C#のWebBrowserでCSSセレクト CSSSharp テスター

CSSSharpとは、C#のWinFormsのWebBrowserのDocumentオブジェクトから、疑似CSSセレクタを指定してList<HTMLEement>を取得するクラスライブラリです。

フリーウェアです。

下記ベクター様サイトで公開しています。

http://www.vector.co.jp/soft/winnt/net/se515702.html

疑似CSSとはどのようなものなのか?

それを試行するツールであるCSSSahrpテスターもCSSSharpと同梱して配布します。

試しに使ってみましょう。

テスターを起動すると、output\test1.htmlが初期状態で開きます。

ここで、疑似CSS、

  • a%3

を入力し、「テスト」ボタンをクリックします。

a%3とは、aタグの3th-childという意味です。

csssharp サンプル01

csssharp サンプル01

該当するAタグが¥の背景色が変わりましたね。

いささか応用から入ったような形です。

今度は初心に返って、

  • div table

という疑似CSSを使ってセレクトしてみましょう。

なお、urlには「http://www.yahoo.co.jp」を指定して「移動」ボタンを押下し、Yahooのページを開いています。

csssharp サンプル02

csssharp サンプル02

Yahooは結構tableタグでレイアウトが組まれてていて、ほとんどの箇所をセレクトしてしまいました。

Yahooのページは、クラス属性もほとんどなく、しかたない状況です。

csssharp サンプル03

csssharp サンプル03

今度は、「かなウェルFree」のベクターホームページに移動します。URLに、

http://www.vector.co.jp/soft/winnt/net/se491554.html

と入力し、「移動」ボタンをクリックします。

疑似CSSは、

  • div .archve h2

です。

注意点としてCSSSharpではクラス名はタグなどに繋げて書いた場合認識されません。

必ずタグ名とクラス属性名の間に半角スペースを入れてください。

h2が意外と広い範囲になっていますね。

紹介はいまのところ以上です。

疑似CSSの簡単な文法は以下の通りです。

CSSharp ver1.00では以下の疑似CSSを使えます。

疑似CSSを左から右へおいていくと、その順番で対象を絞り込みます。

ただし、各疑似CSSは半角いスペースで区切っておかないといけません。

 疑似CSS 意味
 %3 nth-child。3などの数値を設定する。
a%3 タグ名のnth-child。ここでは3番目のaタグをセレクトする。
#an_id id属性の指定。
 .a_class class属性の指定
:attribute 属性の名前の指定
:attribute=abc 属性の名前と指定と属性の値の指定
@css cssプロパティ名の指定
@css=value cssプロパティ名とcssプロパティの値の指定
tag HTMLのタグ名の指定