「XPATHの書き方覚書」に関しての考えをまとめました。
目次
XPathの書き方
- ネストを
/html/body/h1....
などという風にスラッシュで示す - フルパスで書く必要はないときは、ダブルスラッシュ
//
とかくと省略できる- 組み込みタグ以外の複雑な指定は[]を使う //a[@id=“Hoge”]
- 組み込みタグのプロパティは@で書く。 //a[@class=“data”]
//a[@class="hoge"]/text()
でその要素の中のテキストを取得できる- containsを用いると、要素の中にある特定の文字を含む要素を指定できる //a[contains(text(), ‘HOGEW’)]
- ネストが深いとダメ /html/body/h1/spanの要素に対して //h1[contains(text(), ‘hoge’)]は見つからない
まとめて取得する
以下のように書くと全部の要素から対象とする。しかしこの場合ネストが同列のものになってしまう。 そのため予期しない文字列を取得するケースもあるため注意
//*[contains(text(), 'Tom')]