見出し画像

【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の環境でも発生しました。


もし参考になりましたら、♡(スキ)をクリックしてもらえると励みになります。


この記事が気に入ったらサポートをしてみませんか?