少し前の話なのですが、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さん。どこかのサイトにアナウンスがあったんでしょうか?ソース希望します。


コメント