找不到驅動程式錯誤

疑難排解遺失驅動程式執行檔路徑的問題。

從歷史上看,這是 Selenium 初學者第一次嘗試執行程式碼時最常遇到的錯誤

驅動程式執行檔的路徑必須由 webdriver.chrome.driver 系統屬性設定;如需更多資訊,請參閱 https://chromedriver.chromium.org/。最新版本可從 https://chromedriver.chromium.org/downloads 下載
執行檔 chromedriver 需要在路徑中可用。
檔案 geckodriver 不存在。驅動程式可以從 https://github.com/mozilla/geckodriver/releases 下載"
無法找到 chromedriver 執行檔;

可能原因

透過 WebDriver,Selenium 支援所有主要的瀏覽器。為了驅動請求的瀏覽器,Selenium 需要透過可執行驅動程式向其發送命令。此錯誤表示 Selenium 嘗試使用的任何方法都找不到必要的驅動程式。

可能的解決方案

有多種方法可以確保 Selenium 取得所需的驅動程式。

使用最新版本的 Selenium

從 Selenium 4.6 開始,Selenium 會為您下載正確的驅動程式。您應該不需要做任何事情。如果您使用的是最新版本的 Selenium 並且遇到錯誤,請開啟記錄提交錯誤報告並附上該資訊。

如果您想閱讀更多關於 Selenium 如何為您管理驅動程式下載的資訊,您可以閱讀關於 Selenium Manager 的內容。

使用 PATH 環境變數

此選項首先需要手動下載驅動程式

這是一個彈性的選項,可以在不必更新程式碼的情況下更改驅動程式的位置,並且可以在多台機器上運作,而無需每台機器都將驅動程式放在相同的位置。

您可以將驅動程式放在已經在 PATH 中列出的目錄中,或者您可以將它們放在一個目錄中並將其添加到 PATH

要查看 PATH 上已有哪些目錄,請開啟終端機並執行

echo $PATH

如果驅動程式的位置尚未在列出的目錄中,您可以將新目錄添加到 PATH

echo 'export PATH=$PATH:/path/to/driver' >> ~/.bash_profile
source ~/.bash_profile

您可以透過檢查驅動程式的版本來測試是否已正確添加

chromedriver --version

要查看 PATH 上已有哪些目錄,請開啟終端機並執行

echo $PATH

如果驅動程式的位置尚未在列出的目錄中,您可以將新目錄添加到 PATH

echo 'export PATH=$PATH:/path/to/driver' >> ~/.zshenv
source ~/.zshenv

您可以透過檢查驅動程式的版本來測試是否已正確添加

chromedriver --version

要查看 PATH 上已有哪些目錄,請開啟命令提示字元並執行

echo %PATH%

如果驅動程式的位置尚未在列出的目錄中,您可以將新目錄添加到 PATH

setx PATH "%PATH%;C:\WebDriver\bin"

您可以透過檢查驅動程式的版本來測試是否已正確添加

chromedriver.exe --version

指定驅動程式的位置

如果您無法升級到最新版本的 Selenium,您不希望 Selenium 為您下載驅動程式,並且您無法弄清楚環境變數,則可以在 Service 物件中指定驅動程式的位置。

您首先需要下載所需的驅動程式,然後建立適用的 Service 類別的實例,並設定路徑

在程式碼本身中指定位置的優點是不需要弄清楚系統上的環境變數,但缺點是使程式碼的彈性降低。

驅動程式管理函式庫

在 Selenium 自己管理驅動程式之前,已經創建了其他專案來為您執行此操作。

如果您因為使用舊版本的 Selenium 而無法使用 Selenium Manager(請升級),或者需要 Selenium Manager 尚未實作的進階功能,您可以嘗試使用這些工具來自動更新您的驅動程式

下載驅動程式

瀏覽器支援的作業系統維護者下載問題追蹤器
Chromium/ChromeWindows/macOS/LinuxGoogle下載問題
FirefoxWindows/macOS/LinuxMozilla下載問題
EdgeWindows/macOS/LinuxMicrosoft下載問題
Internet Explorer視窗Selenium 專案下載問題
SafarimacOS High Sierra 和更新版本Apple內建問題

注意:Opera 驅動程式已不再與 Selenium 的最新功能相容,目前官方不支援。

上次修改時間為 2023 年 11 月 17 日:升級至 Docsy 0 7 2 (#1529) (48f43616907)