Python Selenium

Seleniumで「WebDriver object has no attribute」が起きた時の対策と解決法

この記事は約2分で読めます。

 

こんにちは

 

Seleniumで「WebDriver’ object has no attribute」が起きたので、その時に行った方策をメモしておきます。

 

<コード>

driver.get('~~~')
driver.find_element_by_tag_name('div')

 

<エラー内容>

raceback (most recent call last):
  File "/Users/syoshika/.../scraping.py", line 22, in 
    kw_search = browser.find_element_by_css_selector("#sbtc > div > div.a4bIc > input")
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'

 

エラーの原因

 

seleniumのバージョン4.3.0から、find_element_by_~系のメソッドが廃止されて使えなくなったことが原因でした。

Seleniumのバージョン確認方法

以下のコードでPython上からSeleniumのバージョンを確認できます。

まずはこれで自分が今使っているSeleniumのバージョンを確認してみましょう

import selenium

print(selenium.__version__)

 

 

スポンサーリンク
スポンサーリンク

seleniumのバージョン4.3.0以降の書き方

 

seleniumのバージョン4.3.0以降だと要素指定する場合は以下のように書くみたいです。

 

#seleniumのバージョン4.3.0以降の書き方

from selenium.webdriver.common.by import By

# class指定
driver.find_elements(By.CLASS_NAME, "tag_name")

# タグ指定
driver.find_elements(By.TAG_NAME, "div")

コメント

タイトルとURLをコピーしました