トモロログ

仕事や趣味でのメモや記録など

Selenium + python で xpathで要素を見つけるときの存在チェック

Selenium + pythonについての話題。

xpathを用いて要素を見つけるときに find_element_by_xpath をやった場合、その対象の要素がないとき にexceptionが発生してしまう。

driver.find_element_by_xpath('hogehoge')

事前に存在チェックがないので以下のようにtry & except で行うのもよいけど、

try:
  driver.find_element_by_xpath('hogehoge')
except:
  #エラー処理

find_elements_by_xpath (複数形!)を使うとエラーにならず空の配列を返すのでそれを利用すると簡単に処理できる。

hoge = driver.find_elements_by_xpath('hogehoge')
if hoge:
  print(hoge[0]) // 要素が1つの時は0番目

xpathだけでなくほかのメソッドでも同様。