【Python】WebDriverアプリが起動しなくなった

Python
スポンサーリンク

少し前の話なのですが、Pythonで開発したRPAが動かなくなる事象が発生しました。Edgeブラウザが起動しなくなったのです。原因はWebDriverの扱い方にありました。

スポンサーリンク

WebDriverがダウンロードできない

デバッグのログを見ると以下のようになっていました。

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='msedgedriver.azureedge.net', port=443): Max retries exceeded with url: /LATEST_RELEASE_L3R_WINDOWS (Caused by NameResolutionError('<urllib3.connection.HTTPSConnection object at 0x000001B989409A30>: Failed to resolve 'msedgedriver.azureedge.net' ([Errno 11001] getaddrinfo failed)'))

コネクションエラーです。WebDriverサイトにアクセスできないとのこと。なぜ?

ダウンロードサイトのドメインが変わった

なんとMicrosoftのWebDriverサイトのドメインが変更されていました。全然知らなかった…

旧)https://msedgedriver.azureedge.net
 ↓
新)https://msedgedriver.microsoft.com

変わったの知らなかったよ。教えてくれよMicrosoftさん…

webdriver-manager の対応は?

作成したRPAではpythonライブラリの webdriver-manager を利用していました。最新(2025/8/6時点ではバージョン4.0.2)のをダウンロードしたのですが、URLは最新ではありませんでした。

手動で対応してみる

webdriver-manager が対応するまでこちらでソースを書き換えたいと思います。以下の場所にソースファイルがあります。

純正Python
C:\Users\256\AppData\Local\Programs\Python\Python313\Lib\site-packages\webdriver_manager\microsoft.py

Anaconda
C:\Users\256\AppData\Local\anaconda3\Lib\site-packages\webdriver_manager\microsoft.py

ソースコードを以下のように変更します。

class EdgeChromiumDriverManager(DriverManager):
  def __init__(
    self,
    version: Optional[str] = None,
    name: str = "edgedriver",
    #url: str = "https://msedgedriver.azureedge.net",
    #latest_release_url: str = "https://msedgedriver.azureedge.net/LATEST_RELEASE",
    url: str = "https://msedgedriver.microsoft.com",
    latest_release_url: str = "https://msedgedriver.microsoft.com/LATEST_RELEASE",
    download_manager: Optional[DownloadManager] = None,
    cache_manager: Optional[DriverCacheManager] = None,
    os_system_manager: Optional[OperationSystemManager] = None
  ):

コメントアウトした箇所が古いURLです。新しいURLを追記しました。

再度デバッグしたところ、無事Edgeが起動しました!

まとめ

ドメイン変更するならするって前もって教えてくださいよ、Microsoftさん。どこかのサイトにアナウンスがあったんでしょうか?ソース希望します。

コメント

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