selenium 4.3.0前後でのfind_elementメソッドに関する対応と書き換えまとめ

selenium 4.3.0からブラウザ上の要素を検索するfind_element_by_**メソッドが非推奨になりました。

そのためバージョンアップに伴い、以前は動いていたプログラムがエラーを吐いて動かなくなるといった現象が私の環境で起こりました。

対処法は下の記事にまとめたのですが、どうせなら最新バージョンのseleniumを使いたいということで今回はselenium 4.3.0以降では非推奨となったfind_element_by_**メソッドと最新バージョンでのfind_elementメソッドの対応についてまとめました。

目次

find_elementメソッド selenium 4.3.0前後の対応まとめ

この記事ではfind_elementのみを扱っています。

find_elementsメソッドを扱いたい場合は、find_elementの部分をfind_elementsに置き換えるだけで変更できます。なお各メソッドの違いは下の記事でまとめてありますので気になる方は参考にしてください。

事前準備(ライブラリのインポート)

selenium 4.3.0以前

selenium 4.3.0以前でfind_element_by_**メソッドを使う場合に最低限必要なライブラリを下記コマンドでインポートしましょう。

from selenium import webdriver

selenium 4.3.0以降

selenium 4.3.0以降でfind_elementメソッドを使う場合はByコマンドを扱えるように次のコマンドで必要なライブラリをインポートしましょう。

from selenium import webdriver
from selenium.webdriver.common.by import By

タグの取得

selenium 4.3.0以前

driver.find_element_by_tag_name("タグ名")

selenium 4.3.0以降

#どちらの書き方でも可
driver.find_element(by=By.TAG_NAME, value="タグ名")
driver.find_element(By.TAG_NAME, "タグ名")

クラスの取得

selenium 4.3.0以前

driver.find_element_by_class_name("クラス名")

selenium 4.3.0以降

#どちらの書き方でも可
driver.find_element(by=By.CLASS_NAME, value="クラス名")
driver.find_element(By.CLASS_NAME, "クラス名")

IDの取得

selenium 4.3.0以前

driver.find_element_by_id("id名")

selenium 4.3.0以降

#どちらの書き方でも可
driver.find_element(by=By.ID, value="id名")
driver.find_element(By.ID, "id名")

nameの取得

selenium 4.3.0以前

driver.find_element_by_name("name名")

selenium 4.3.0以降

#どちらの書き方でも可
driver.find_element(by=By.NAME, value="name名")
driver.find_element(By.NAME, "name名")

XPathの取得

selenium 4.3.0以前

driver.find_element_by_xpath("Xpathの内容")

selenium 4.3.0以降

#どちらの書き方でも可
driver.find_element(by=By.XPATH, value="Xpathの内容")
driver.find_element(By.XPATH, "XPathの内容")

まとめ

今回はselenium 4.3.0前後でのfind_elementメソッドの対応と書き換えについてまとめました。

この記事で不明な点や気になるところがあれば下のコメント欄までお願いします。それではまた!

よかったらシェアしてね!

この記事を書いた人

えだはのアバター えだは ITエンジニア

2001年生まれの♂。愛知県出身。
国立大学の情報学科を卒業後、某ユーザ系IT企業に就職。
2022年に当ブログ「えだはの部屋」を開設。
ブログ収益は100円〜1000円の間で常に低空飛行をしており、基本赤字。
将来の夢は億万長者。

コメント

コメントする

目次