python seleniumでhtml要素の存在チェックを行う

python seleniumでhtml要素の存在チェックを行う

pythonで、selenium使用時にhtml要素を存在チェックを行うサンプルコードを記述してます。「len」を使用で要素の長さを取得して「0」より大きいかで判定することで可能です。seleniumのバージョンは4.7.2を使用してます。

環境

  • OS windows11 home
  • python 3.10.8
  • selenium 4.7.2

手順

html要素を存在チェックを行うには「find_elements」を使用して「len」で長さを取得して「0」より大きいかを条件にして判定します。

実際に判定した例が以下となります。

if len(elem.find_elements(By.CSS_SELECTOR,"a:first-child")) > 0 :
    print("存在します")
else:
    print('存在しません')

また、以下のように「try-except」で「NoSuchElementException」をキャッチする方法もあります。こちらの方は処理が複雑になることがあるので自分は「if」の方を使用しています。

from selenium.common.exceptions import NoSuchElementException
try:
    elem_username  = driver.find_element("name", "username").send_keys(USER)
    elem_password  = driver.find_element("name", "password").send_keys(PASS)
except NoSuchElementException:
    exit