「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')]

以下のChrome拡張が便利

XPath テスター