错误消息:“‘chromedriver’ 可执行文件需要在路径中可用”

2024-12-04 08:56:00
admin
原创
181
摘要:问题描述:我正在使用带有 python 的 selenium,并从此站点下载了适用于我的 Windows 计算机的 chromedriver:http://chromedriver.storage.googleapis.com/index.html ?path=2.15/下载 zip 文件后,我将 zip 文...

问题描述:

我正在使用带有 python 的 selenium,并从此站点下载了适用于我的 Windows 计算机的 chromedriver:http://chromedriver.storage.googleapis.com/index.html ?path=2.15/

下载 zip 文件后,我将 zip 文件解压到我的下载文件夹中。然后我将可执行二进制文件的路径 (C:\Users\michael\Downloads\chromedriver_win32) 放入环境变量“Path”中。

但是,当我运行以下代码时:

from selenium import webdriver

driver = webdriver.Chrome()

...我不断收到以下错误信息:

WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at     http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver

但是 - 如上所述 - 可执行文件在路径中......这里发生了什么?


解决方案 1:

我看到讨论仍然在谈论通过下载二进制文件并手动配置路径来设置 chromedriver 的老方法。

这可以使用webdriver-manager自动完成

pip install webdriver-manager

现在问题中的上述代码只需进行以下更改即可工作,

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

同样可以用来设置 Firefox、Edge 和 ie 二进制文件。

解决方案 2:

您可以测试它是否确实在 PATH 中,方法是打开 cmd 并输入chromedriver(假设您的 chromedriver 可执行文件仍以此命名)并按 Enter。如果Starting ChromeDriver 2.15.322448出现,则 PATH 设置正确,并且存在其他错误。

或者,你可以像这样使用 chromedriver 的直接路径:

 driver = webdriver.Chrome('/path/to/chromedriver') 

因此,就您的具体情况而言:

 driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")

解决方案 3:

在Ubuntu上:

sudo apt install chromium-chromedriver

在Debian上:

sudo apt install chromium-driver

macOS上安装Homebrew然后执行

brew install --cask chromedriver

解决方案 4:

对于Linux和OSX

步骤 1:下载 chromedriver

# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip

对于 Debian:wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip

第 2 步:将 chromedriver 添加到/usr/local/bin

unzip chromedriver_mac64.zip
sudo mv chromedriver /usr/local/bin
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver

你现在可以运行

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://localhost:8000')

没有任何问题

解决方案 5:

与 pycharm 社区版的情况相同,因此,对于 cmd,您必须重新启动 ide 才能重新加载路径变量。重新启动 ide 应该没问题。

解决方案 6:

对于原始字符串,我们必须添加路径字符串,以r字符串前面的字母开头。我测试了这种方法,它有效。

driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")

解决方案 7:

根据说明,您需要在实例化 webdriver.Chrome 时包含 ChromeDriver 的路径,例如:

driver = webdriver.Chrome('/path/to/chromedriver')

解决方案 8:

另一种方法是下载并解压 chromedriver,并将“ chromedriver.exe”放在C:\Program Files\Python38\Scripts中,然后您不需要提供驱动程序的路径,只需

驱动程序= webdriver.Chrome()

解决方案 9:

在将 chromedriver 添加到您的路径之前,请确保它与您的浏览器是相同的版本。

如果没有,您将需要匹配版本:更新/降级您的 chrome,以及升级/降级您的 webdriver。

我建议尽可能更新你的 chrome 版本,并匹配 webdriver。

要更新 Chrome:

  • 点击右上角的三个点。

  • 点击help->About Google Chrome

  • 更新版本并重启 chrome

然后从这里下载兼容版本:http://chromedriver.chromium.org/downloads

注意:最新的 chromedriver 并不总是与最新版本的 chrome 匹配!

现在您可以将其添加到 PATH 中:

  1. 在计算机的某个位置创建一个新文件夹,用于放置 Web 驱动程序。我创建了一个webdrivers名为C:Program Files

  2. 复制文件夹路径。我的情况是C:Program Fileswebdrivers

  3. 右击this PC-> properties

在此处输入图片描述

  1. 右键单击Advanced System settings

  2. 点击Environment Variables

  3. 在 中System variables,点击path并点击edit

  4. 点击new

  5. 粘贴之前复制的路径

  6. 在所有窗口中单击“确定”

就是这样!我用的是 pycharm,但不得不重新打开它。也许其他 IDE 或终端也一样。

解决方案 10:

最好的方法肯定是在这里:

下载并解压 chromedriver,将 chromedriver.exe 放在 C:\Python27\Scripts 中,然后您不需要提供驱动程序的路径,只需

driver= webdriver.Chrome()

您已完成,无需添加路径或任何内容

解决方案 11:

可执行路径已被弃用!

如果您收到 exectuable_path 已被弃用的警告,这里是修复方法...

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
def run():
    s=Service(ChromeDriverManager().install())    
    chrome_driver = webdriver.Chrome(service=s)
    ...

解决方案 12:

为避免对此主题的未来读者提供一些额外的输入/澄清,以避免修改 PATH 环境变量。在 Windows 级别重新启动 Windows 系统:( 从https://stackoverflow.com/a/49851498/9083077复制我的答案,适用于 Chrome):

(1)下载 chromedriver(如本帖前面所述)并将(解压后的)chromedriver.exe 放在 X:\Folder\of\your\choice

(2)Python代码示例:

import os;
os.environ["PATH"] += os.pathsep + r'X:Folderofyourchoice';

from selenium import webdriver;
browser = webdriver.Chrome();
browser.get('http://localhost:8000')
assert 'Django' in browser.title

注意:(1)示例代码(在参考答案中)可能需要大约 5 秒钟才能打开指定 URL 的 Firefox 浏览器。 (2)如果指定的 URL 上没有服务器正在运行,或者没有提供标题包含字符串“Django”的页面,则 Python 控制台将显示以下错误:assert 'Django' in browser.title AssertionError

解决方案 13:

v4.6.0对于使用 Selenium或更高版本的用户:

我们不必driver.exe再担心下载和设置任何路径。也不必使用第三方库来WebDriverManager处理浏览器驱动程序。
Selenium 的新工具SeleniumManger可以为我们自动下载/处理浏览器驱动程序。

现在你的 Python 代码可以简单到:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")

参考:

解决方案 14:

解压 chromedriver 时,请指定一个准确的位置,以便您稍后可以跟踪它。下面,您将获得适合您操作系统的 chromedriver,然后将其解压到一个准确的位置,该位置稍后可以在您的代码中作为参数提供。

`wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip
unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/`

解决方案 15:

如果您正在使用 Robot Framework RIDE。那么您可以Chromedriver.exe从其官方网站下载并将此 .exe 文件保存在C:Python27Scripts目录中。现在将此路径作为您的环境变量,例如C:Python27Scriptschromedriver.exe

重启电脑并再次运行相同的测试用例。您将不会再遇到此问题。

解决方案 16:

正如Aphid在他的评论中提到的,如果您想手动执行此操作,则只需包含存储 webdriver 的目录,而不是可执行文件

例子:

正确的:

PATH=$PATH:/路径/到/webdriver/文件夹

错误的:

PATH=$PATH:/path/to/webdriver/chromedriver.exe


Windows系统变量和CMD测试:

在此处输入图片描述

解决方案 17:

从最近的版本开始,创建 chromedriver 的首选方法是使用服务。

像这样手动设置你的路径:

chromedriver_path = "path to your chromedriver executable>"

service = Service(chromedriver_path)
driver = webdriver.Chrome(service=service)

解决方案 18:

如果在确定 PATH 设置正确后它不起作用,可以尝试重新启动计算机。

在我使用 Windows 7 的情况下,我总是收到 WebDriverException 错误:消息:针对 chromedriver、gecodriver、IEDriverServer。我很确定我有正确的路径。重启电脑,一切正常

解决方案 19:

我遇到了和你一样的问题。我使用 PyCharm 编写程序,我认为问题出在 PyCharm 中的环境设置上,而不是操作系统上。我通过转到脚本配置,然后手动编辑环境变量中的 PATH 解决了这个问题。希望这对你有帮助!

解决方案 20:

当我下载 chromedriver.exe 时,我只是将其移动到 PATH 文件夹 C:\Windows\System32\chromedriver.exe 中,但遇到了完全相同的问题。

对我来说,解决方案就是更改 PATH 中的文件夹,因此我只是将其移动到同样位于 PATH 中的 Pycharm Community bin 文件夹中。例如:

  • C:\Windows\System32\chromedriver.exe --> 出现异常

  • C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.3\bin\chromedriver.exe --> 运行正常

解决方案 21:

在 Mac Mojave 运行 Robot 测试框架和 Chrome 77 时遇到了这个问题。这解决了这个问题。感谢 @Navarasu 为我指明了正确的方向。

$ pip install webdriver-manager --user # install webdriver-manager lib for python
$ python # open python prompt

接下来,在 python 提示符中:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

# ctrl+d to exit

这会导致以下错误:

Checking for mac64 chromedriver:xx.x.xxxx.xx in cache
There is no cached driver. Downloading new one...
Trying to download new driver from http://chromedriver.storage.googleapis.com/xx.x.xxxx.xx/chromedriver_mac64.zip
...
TypeError: makedirs() got an unexpected keyword argument 'exist_ok'
  • 我现在得到了最新的下载链接

+ 下载并解压 chromedriver 到你想要的位置
+ 例如:`~/chromedriver/chromedriver`

用编辑器打开~/.bash_profile并添加:

export PATH="$HOME/chromedriver:$PATH"

打开新的终端窗口,好了

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用