无法找到驱动程序错误

排查缺少驱动程序可执行文件路径的问题。

从历史上看,这是 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)