【Python】【解決】Chrome115からwebdriver_managerでエラーが発生するようになった

本ページはプロモーションが含まれています

きっと多くのPython+Selenium利用者泣いている、最近webdriver_managerがエラーを起こすようになったようなので原因を調べてみました

エラーについて

まず発生したエラーメッセージから

例外が発生しました: ValueError
There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790
  File "C:\Users\Administrator\Desktop\python\moppy.py", line 561, in main
    print(ChromeDriverManager().install())
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Administrator\Desktop\python\moppy.py", line 600, in <module>
    _ = main()
        ^^^^^^
ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790

単刀直入にいうと”https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790“なんてURLは存在しないってこと

実際に開いてみるとこんな感じ

404エラーみたいにURLがないわけじゃなくてパラメータ不正みたいなエラーがjsonで表示される

ちなみにChromeのバージョンが114の時だとこんな感じ

最新のChromedriverのバージョン情報をリビジョンまで表示してくれるのでこれで取得すべきChromedriverが特定できるようになっていました

原因を探ってみる

いつもはChromeの安定版がリリースされる頃にはChromedriverも同じバージョンがリリースされていたので成立していたwebdriver_managerの仕様ですが、エラーの内容から115以降はこのサイトでChromedriverがリリースされていないと推察できます

そんなわけで原因を探るべく、まずはChromedriverを管理しているページを訪問します

そうすると早速答えが書いてありました

Current Releases

For more information on selecting the right version of ChromeDriver, please see the Version Selection page.

https://chromedriver.chromium.org/downloads

Chromeのバージョンが115以上の場合はダッシュボード参照するようにとのこと

実際にページを開いてみるとこんな感じ

Chromeの安定・ベータ・開発・試験をそれぞれでのバージョンの最新版、それぞれのChromeとChromedriverをそれぞれのプラットフォームのインストールファイルパスがあるのでダウンロードして解凍すればバージョン115以降のChromedriverを取得できるので解決!

改めて自動更新ができるようにしたい

自動更新できない理由と手動でChromedriverを更新する方法はわかったものの、自動更新できるようになってこそ解決

近日中に確認して対応しようと思います

・・と思ったら7/24にもうモジュールアップデート(3.9.1以降が対応済みバージョン)されてましたのでpipなどでアップデートすれば解決のようです(感謝!!)

webdriver-manager
Library provides the way to automatically manage drivers for different browsers

pyinstallerなどでexe化している場合はサイト側の仕様変更なのでライブラリを入れ替えてもう一度exe化するしかなさそうですね・・・

7/30にまたエラー

Exception: No such driver version 115.0.5790.110 for win32

毎日の自動処理がエラー吐いていたので確認しました

またドライバーがないエラーっぽいのですが・・流石です!webdriver_managerは既に7/27にアップデートされてる(マジ感謝!!)

バージョン4.0.0では発生しませんでしたので再びのアップデートを是非

ちなみに

PyPIを改めて見たわけですが公式にはseleniumのバージョンに合わせてソースを変えるらしいです

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
# selenium 4
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()))

私の環境はselenium4なのにselenium3の書き方のままで動いているのですがどこかで修正すべきなんですかね??と自問自答して気が向いた時に修正しようと心に誓いました・・

コメント

  1. 名無し より:

    通りすがりの者です.
    自分も同じ問題に直面していましたが,webdriver-managerを最新版にアップデートすると解決しました.
    7/24に更新が入っています.

    https://pypi.org/project/webdriver-manager/3.9.1/

    • ジャベ雄 より:

      コメントありがとうございます!
      昨日私もアップデートしてみたのですがダメだったので時間差ですかね??
      今は対応できていること確認できました

  2. pseudo より:

    덕분에 살았습니다..

  3. しゅー より:

    同じ悩みを抱えていましたので、大変参考になりました!ありがとうございました。

    • ジャベ雄 より:

      コメントありがとうございます!
      結論としてはアップデートすれば解決だったんですけどねw

      全てのライブラリを定期的にアップデートとか怖くて出来ないのですが今回はそれが裏目になりました(と言ってもライブラリの問題ではなくサイト側の都合ですが)

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