python seleniumで次の要素を取得する

python seleniumで次の要素を取得する

pythonで、seleniumで次の要素を取得するサンプルコードを記述してます。「execute_script」で取得した要素に対してjavascriptを実行することで可能です。

環境

  • OS windows11 home
  • python 3.10.8
  • selenium 4.7.2

手順

次の要素を取得するには「execute_script」を使用してjavascirptの「nextElementSibling」を使用します。

実際に取得した例が以下となります。

# 属性nameがusernameのものを取得
elem = driver.find_element("name", "username")

# 第二引数に取得した要素を指定して次の要素を取得
next_elem = driver.execute_script("""
    return arguments[0].nextElementSibling
""", elem)

# 次の要素のテキストを取得
next_elem.text

また、要素が存在しない場合は「None」が変えるので、処理したくない場合は条件式を使用します。

if next_sibling != None:
    next_elem.text