python seleniumでエラー「’WebDriver’ object has no attribute ‘find_element_by_name’」が発生した場合の対処法

pythonで、selenium使用時にエラー「’WebDriver’ object has no attribute ‘find_element_by_name’」が発生した場合の対処法を記述してます。「selenium」のバージョン4.3以降は「find_element_by_name」は使用できないため、このエラーが発生します。
環境
- OS windows 11 Home
- python 3.10.8
- selenium 4.7.2
エラー全文
以下の、nameを指定して要素を取得しようとしたコードで発生
elem_username = driver.find_element_by_name('session[username]')
エラーメッセージ
例外が発生しました: AttributeError
'WebDriver' object has no attribute 'find_element_by_name'
File "C:\python\test.py", line 16, in <module>
elem_username = driver.find_element_by_name('session[username]')
AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'
画像

原因
selenium 4.3.0以降は「find_element_by_name」は使用できないため。
※「selenium」のバージョン確認方法は以下となります。
> pip list
Package Version
---------------- ---------
async-generator 1.10
attrs 22.2.0
certifi 2022.12.7
cffi 1.15.1
exceptiongroup 1.1.0
h11 0.14.0
idna 3.4
outcome 1.2.0
pip 22.3.1
pycparser 2.21
PySocks 1.7.1
selenium 4.7.2
対処法
「find_element」を使用します。
elem_username = driver.find_element("name", "username")
もしくは「selenium」をダウングレードします。
pip install selenium==4.1.0
-
前の記事
PostgreSQL 少数以下の桁数を取得する 2023.01.18
-
次の記事
java cosh(ハイパーボリックコサイン)値を取得する 2023.01.18
コメントを書く