解決遇到錯誤訊息 This version of ChromeDriver only supports Chrome version 91

執行 Selenium 過程遇到錯誤訊息「This version of ChromeDriver only supports Chrome version 91」,解決方式是更新與電腦 Chrome 瀏覽器相對應的 ChromeDriver 版本。

沙灘上的螃蟹
Photo by Seth Doyle on StockSnap


問題狀況

執行 PHP client for Selenium 遇到程式突然中斷,回到 Selenium server 看到錯誤訊息

PHP Fatal error:  Uncaught Facebook\WebDriver\Exception\SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 91

完整錯誤訊息請見附錄

解決方式

錯誤訊息是 ChromeDriver 不支援電腦 Chrome 瀏覽器版本  Chrome version 91。原因通常是 Chrome 瀏覽器已經更新,但是沒有更新 ChromeDriver 版本。

1. 在終端機輸入指令,查看 ChromeDriver 版本

% ./chromedriver -v
ChromeDriver 91.0.4472.19 (1bf021f248676a0b2ab3ee0561d83a59e424c23e-refs/branch-heads/4472@{#288})

2. 在 Chrome 瀏覽器網址列輸入 chrome://settings/help ,查看瀏覽器版本是 93.0.x

顯示 chrome 瀏覽器版本

3. 在 ChromeDriver - WebDriver for Chrome - Downloads 網頁可以看到

ChromeDriver 91.0.4472.19 Supports Chrome version 91

需要下載安裝與電腦 Chrome 瀏覽器相對應的 ChromeDriver 版本

chromedriver download 網頁

4. 安裝檔案細分不同作業系統

(1) Linux 作業系統選擇檔名 linux64 的檔案
(2) Mac 作業系統選擇檔名 mac64 或 mac64_m1 (Apple M1 晶片) 的檔案
(3) Windows 作業系統選擇檔名 win32 的檔案 (64 位元的 Windows 可以使用)
chromedriver 安裝檔案列表

5. 更新現有 chromedriver 檔案

(1) 通常 chromedriver 跟 Selenium server 放在同一目錄,直接覆蓋舊版 chromedriver

Mac 作業系統  chromedriver_mac64.zip 解壓縮後得到 chromedriver 檔案,直接覆蓋舊版 chromedriver 即可。

Windows 作業系統覆蓋 chromedriver.exe 檔案,有時候會遇到「Access denied on file」錯誤。解決方式:是以系統管理員權限開啟命令提示字元,輸入指令.

 taskkill /IM "chromedriver.exe" /F

(2) 確認 chromedriver 可以運作,在終端機輸入指令,查看 ChromeDriver 版本

% ./chromedriver -v

跳出警告訊息:無法打開「chromedriver」 ,因為無法驗證開發者。

警告訊息:無法打開「chromedriver」 ,因為無法驗證開發者。
(3) 到系統偏好設定,點選「安全性與隱私權」
macOS 系統偏好設定
(4) 「安全性與隱私權」視窗,點選「強制允許」
「安全性與隱私權」視窗

(5) 回到終端機輸入指令,查看 ChromeDriver 版本

% ./chromedriver -v
跳出警告視窗:macOS 無法驗證「chromedriver」的開發者。您確定要打開它嗎?請點選「打開」按鈕
警告視窗:macOS 無法驗證「chromedriver」的開發者。您確定要打開它嗎?
終端機順利回傳版本資訊
% ./chromedriver -v
ChromeDriver 93.0.4577.15 (660fc11082ba57405eca2e8c49c3e1af756fbfae-refs/branch-heads/4577@{#203})

完成 chromedriver 版本更新


參考資料

附錄

Selenium server 錯誤訊息

[04-Sep-2021 11:52:26 Asia/Taipei] PHP Fatal error:  Uncaught Facebook\WebDriver\Exception\SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 91

Current browser version is 93.0.4577.63 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'

System info: host: 'Username-MacBook-Pro.local', ip: 'fe80:0:0:0:1468:b3c6:3107:9fa7%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.7', java.version: '14.0.2'

Driver info: driver.version: unknown

remote stacktrace: 0   chromedriver                        0x000000010d425029 chromedriver + 2740265

1   chromedriver                        0x000000010dad8cd3 chromedriver + 9768147

2   chromedriver                        0x000000010d1b4d58 chromedriver + 183640

3   chromedriver                        0x000000010d1da6d6 chromedriver + 337622

4   chromedriver                        0x000000010d1d63c3 chromedriver + 320451


留言