![見出し画像](https://assets.st-note.com/production/uploads/images/113329672/rectangle_large_type_2_20d02a7e985743502a515e106fad5af8.png?width=1200)
【Selenium】PermissionError: [WinError 5] アクセスが拒否されました。
発生環境
OS:Windows 11
Python:3.11.2
Selenium:4.8.2
Chrome:115.0.5790.171
(chromedriver-binary:115.0.5790.170.0)
発生条件はちょっと特殊で、上の環境において複数のSeleniumを同時に起動すると、以下のエラーが発生します。
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\xxxxx\\.wdm\\drivers\\chromedriver\\win64\\115.0.5790.171\\chromedriver-win32\\chromedriver.exe'
During handling of the above exception, another exception occurred:
(中略)
PermissionError: [WinError 5] アクセスが拒否されました。: 'C:\\Users\\xxxxx\\.wdm\\drivers\\chromedriver\\win64\\115.0.5790.171\\chromedriver-win32\\chromedriver.exe' -> 'C:\\Users\\xxxxx\\.wdm\\drivers\\chromedriver\\win64\\115.0.5790.171\\chromedriver.exe'
解決策
ChromeServiceにドライバーのパス(executable_path)をエラーメッセージに表示されている通りに指定しました。
修正前
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options)
修正後
driver = webdriver.Chrome(service=ChromeService('C:\\Users\\xxxxx\\.wdm\\drivers\\chromedriver\\win64\\115.0.5790.171\\chromedriver.exe'), options=options)
こちらの対応でChrome 115以降、ChromeDriverが自動更新されるように修正したところでしたが、当分の間は暫定的にパスを指定して手動更新することにします。
ちなみに、Amazon Linuxでは発生していません。
追記(2023/8/17)
Windows 10(64bit)&Chrome 116の環境でも発生しました。
もし参考になりましたら、♡(スキ)をクリックしてもらえると励みになります。