それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Xpathで「条件◯◯」を子孫ノードに持つ要素を選択する

Xpathは慣れてくるとパズル・ゲームみたいで私は大好きです。

Xpathで条件としてある子孫ノードをもつ要素を探す。

古臭いテーブル・レイアウトのHTMLをスクレーパーするときに大活躍します。

Xpathの条件としては書き方もいろいろあげられますが、今回は、絞り込みを [ ] で行う例です。

form 要素を持つ Tableを探す。

子ノードにformを持つTableを探す

//table[.//form]"

子ノードにformがaction=post.php を持つTableを探す。

//table[.//form[@action='post.php']]"

子孫ノードに form と button を持つ tableを探す。

//table[.//form[@action='post.php'] and .//button ]"

条件の書き方を覚えるとXpathが楽になる。

/element[ 条件 and 条件 ]

これが基本的な書式だと思います。

あとは、この条件を併せて書きます。

/element[ 条件 and 条件 ]/element[ 条件 and 条件 ]

まずは、この基本形を覚えたらXpathで戦えると思います。

参考資料

document.evaluate でXPATH する具体的サンプル - それマグで!