PythonのSeleniumでGoogleChromeのwebdriverの更新を自動化してよっしゃーと思っていたら以下のようなエラーが発生。
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
まあそのままの意味でPATHがないとのこと。
解決法
エラーメッセージでググったところ、どうやらローカルに最新のchromedriverのバイナリ版ライブラリの方も最新版をインストールしないといけないらしい。。。
# ライブラリのインストール $pip install chromedriver_binary
ちなみにバージョンが違うとSessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 〇〇みたいなエラーになる。
pyファイルから直接ライブラリの更新処理を実行させるならサブプロセスを使ってこんな風に書けると思います。
import subprocess
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import chromedriver_binary
cmd = 'pip install --upgrade chromedriver_binary'
res = subprocess.call(cmd, shell=True)
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.set_window_size('1200','1000')
url = 'https://www.mgstage.com/'
d = DesiredCapabilities.CHROME
d['goog:loggingPrefs'] = { 'performance': 'ALL' }
driver = webdriver.Chrome(desired_capabilities=d)
driver.get(url)
関連記事:【Python】subprocessでPython上からコマンドを実行する
参照:https://qiita.com/gabiQ/items/18836611b47d2a1e56c4
コメント