

Google Chromeの更新でエラーがでてしまいます。  
Google
Chromeは自動で更新してしまうので、ChromeDriverの更新をしようと思って、このサイトhttps://googlechromelabs.github.io/chrome-
for-testing/にアクセスして Stableのchromedriver
win64のzipをダウンロードして解凍したのですが、まだPythonでエラーがでてしまいます。

**実行環境:**  
Python 3.11.1  
Google Chrome 117.0.5938.150 (Official Build) (64-bit)

**エラー**

[code]

    driver=webdriver.Chrome('C:/webdrivers/chromedriver.exe')・・・・    raise WebDriverException(
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
    
[/code]

Google Chrome
114までは正常に動いていたのですが、改めてChromeDriverのバージョンを確認したらwin32というのがダウンロードされていて、これで動いていた可能性もあります。

自分のPCを確認すると64ビットでした。

何を修正したらよいかわかりません。  
webdriver-managerというのをインストールしてみましたが、だめでした。

よろしくお願いいたします。

使い方が間違っていて申し訳ございませんでした。

ありがとうございます！教えていただいた【Python】Selenium 4の変更点とWarning
を見て変更したらできました！本当に助かりました！ありがとうございます！


CC BY-SA 4.0
2023-10-10T14:55:25.587
96463
2023-10-11T02:20:52.130
2023-10-11T00:14:56.977
57193
57193
question
python chromedriver
pythonを使っていたのですがgoogleの更新でエラーとなってしまいます。


コメントの内容で解決したようなので、それを回答として作成します。

提示されたエラー内容ならChromeブラウザやChromeDriverではなく、Seleniumが新しい版数になったことによる使い方の変更に対処していない問題と考えられます。

こちらの記事などを参照してください。  
[【Python】Selenium
4の変更点とWarning](https://qiita.com/vZke/items/a7e8a75849ecaaa7f236)  
こちらのSelenium自身の解説ページもあります。  
[Selenium4にアップグレードする方法](https://www.selenium.dev/ja/documentation/webdriver/troubleshooting/upgrade_to_selenium_4/)  
の最後の[Python](https://www.selenium.dev/ja/documentation/webdriver/troubleshooting/upgrade_to_selenium_4/#python-1)の部分

いずれも`driver =
webdriver.Chrome(...)`の1段階でドライバオブジェクトを作成するのではなく、Service(Chromeの場合はChromeService)でserviceオブジェクトを作ってからwebdriver.Chrome(...)のパラメータにserviceを指定する方法に変えることです。

そして`webdriver-managerというのをインストールしてみました`ということですが、インストールしただけで使っていないようですね。  
あるいは`webdriver-
manager`でWebDriverを更新するスクリプトとSeleniumでスクレイピングするスクリプトを別々に実行していて、スクレイピングするスクリプトの方を変えていなかったということかもしれません。

`webdriver-manager`でWebDriverを更新すると、WebDriverがダウンロードして更新される場所は
`C:\Users\ユーザー名フォルダ\.wdm\Drivers` の更に下にWebDriverの種別毎にフォルダが出来て格納されます。  
紹介記事の [webdriver-
managerを使う方法](https://qiita.com/vZke/items/a7e8a75849ecaaa7f236#webdriver-
manager%E3%82%92%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95) に書かれているように、`driver =
webdriver.Chrome(...)`でドライバオブジェクトを作る際に`webdriver-manager`を使う方法にすれば、`webdriver-
manager`でダウンロード・更新したものが使われますが、それを意識せずに別の場所のWebDriverを絶対パスで指定していると、それが反映されません。

`webdriver-manager`を使うなら上記記事の`# Selenium 4`
と書いてある方のソースコードを使用してWebDriverの更新とスクレイピングを1つのスクリプトで行うようにしましょう。


CC BY-SA 4.0
2023-10-11T02:20:52.130
96466
2023-10-11T02:20:52.130
26370
96463
answer