Selenium xpathが便利な件(Python) | 世界的日曜WEBプログラマー日記

世界的日曜WEBプログラマー日記

一年後に世界的なWEBサービスを運営するにはどうすればいいのか書いていく(予定)

selenium pythonで、タグ指定の時にfind_element_by_idなど色々な方法でタグを指定していたけど、最近xpathがすごい便利だと気づいた。

例えば次のようなDIVタグがあったとして、
< div class="backend_checkbox">
これを指定したいときは
"//div[@class='backend_checkbox']"

という風にして、find_element_by_xpathで指定することが出来る。
つまり、こんな感じになる。
 driver.find_element_by_xpath( "//div[@class='backend_checkbox']" )


ルールはじっくり見ていくとわかってくる。そんなに難しくない。
例えばLabelの例:
< label for="userpoints_usepoints" style="font-weight: bold;">
というLabelタグがあったとして、styleで検索をかけたいときは
"//label[@style='font-weight: bold;']"
となる。

タグ内の要素で検索することも可能。
具体的に例えば、
< label for="userpoints_usepoints" style="font-weight: bold;">
Use Points
</label>

があるとして、中の単語「Use Points」で引っ掛けたいとしたら、
"//label['Use']"
もしくは
"//label[contains(text(), 'Use')]"

とかで検索かけることが可能。
and演算子も使える。

"//label[@style='font-weight: bold;' and contains(text(), 'Use')]"


便利だ。

株式会社OctOpt
コンピューターサイエンス会社OctOptの技術公式ブログ
等々力 康弘
@rocky_house