Python プログラミング

【Python】SeleniumでChromeDriverのpathエラーが出た時の対処法

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

 

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

 

 

 

コメント

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