本業で自動テストの導入を進めており、その中で自動テストを書く機会が増えたので改めて基礎から学び直してみる。
自分がプログラミングをやっている理由が自動化なので、ようやくここまで来れたという感じ。
だから今は楽しいです。
今回は基本のキ。
XPathとは
XPathとは、XML Path Languageの略で、XML文書の要素や属性を選択するための言語。
XPathの基礎文法
たとえば、下記のようなHTMLがあったとする。
<pets> <pet> <dog> <name>Taro</name> <age>2</age> <barthdate>2022/11/21</barthdate> </dog> <cat> <name>Mike</name> <age>3</age> <barthdate>2021/5/3</barthdate> </cat> </pet> </pets>
XPathを用いてこれらの要素にアクセスするためには、ディレクトリのパス指定のように /
を用いて要素を指定する。
絶対パスと短いパス
これもディレクトリと同じように考えるとわかりやすい。
絶対パスはルートから対象へ到達するまでに経由するすべての要素を記述する。
一方で、短いパスは //
で絶対パスを省略し、任意のレベルから記述する。
上記のドキュメントの dog
の name
を絶対パスと短いパスで表してみると
絶対パス: /pets/pet/dog/name
短いパス: //dog/name
となる。
name
要素は cat
でも使われているので dog
から指定してやるとよい。
XPathの取得方法
たとえば、ChromeでXPathを調べるにはデベロッパーツールを使う。
ElementsでXPathを取得したい要素を探し、見つかった要素を右クリックする。
表示されるメニューのCopy > Copy XPathで取得できる。
詳しい方法は他の人が詳しく書いているので参照のこと。