Seleniumのバージョン4の場合のwebdriverの自動バージョンアップの方法の説明になります。
Seleniumのバージョン4の場合、途中のバージョンで仕様変更があったためSeleniumのバージョンによってやり方がかわることになります。
今回の例ではChromeの場合のコードを載せています。
目次
1.SeleniumのバージョンがVer.4.6より前の場合
1)path指定する方法
Serviceオブジェクトからexecutable_pathを渡します。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
service = ChromeService(executable_path="./drivers/chromedriver.exe")
driver = webdriver.Chrome(service=service)
2)webdriver-managerを使う方法
webdriver-managerは各ブラウザのバージョンを確認して自動でバージョンアップを実行してくれるライブラリです。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
結果として、たとえばGoogle検索を行うためのコードは以下のようなコードになります。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
#指定したURLに遷移する
driver.get("https://www.google.co.jp")
#Google検索窓を要素取得
element = driver.find_element(By.NAME, "q")
#検索窓に"abc"と入力
element.send_keys("abc")
#Enterキークリック
element.submit()
# タブを閉じる
driver.close()
driver.quit()
2.SeleniumのバージョンがVer.4.6以降の場合
Ver.4.6以降では以下のようになります。
from selenium import webdriver
driver = webdriver.Chrome()
結果として、こちらでのGoogle検索を行うためのコードは以下のようなコードになります。
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
#指定したURLに遷移する
driver.get("https://www.google.co.jp")
#Google検索窓を要素取得
element = driver.find_element(By.NAME, "q")
#検索窓に"abc"と入力
element.send_keys("abc")
#Enterキークリック
element.submit()
# タブを閉じる
driver.close()
driver.quit()
以上が、PythonとSeleniumを使ってWebスクレイピングする場合のseleniumの仕様変更によるdriver設定の変更内容についてになります。
リンク