我正在使用python和selenium,并从这个网站下载了用于我的windows计算机的chromedriver: http://chromedriver.storage.googleapis.com/index.html?path=2.15/

下载压缩文件后,我将压缩文件解压缩到我的下载文件夹中。然后我把可执行二进制文件(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

但是-如上所述-可执行文件在路径中(!)…这是怎么回事?


当前回答

正如Aphid在他的评论中提到的,如果你想手动完成,你必须只包括你的webdriver存储的目录,而不是可执行文件:

例子:

正确的:

路径=$PATH:/路径/到/网络驱动程序/文件夹

错误的:

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


Windows系统变量和CMD测试:

其他回答

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

测试后检查ChromeDriver是否已安装

chromedriver

你应该看到

Starting ChromeDriver version.number 
ChromeDriver was successful

检查ChromeDriver的路径

which chromedriver

在代码中使用Path

...
from selenium import webdriver

options = Options()
options.headless = True
options.add_argument('windows-size=1920x1080')

path   = '/usr/local/bin/chromedriver'
driver = webdriver.Chrome(path, options=options)

在我的例子中,当我将chromedriver文件复制到c:\Windows文件夹时,这个错误就消失了。这是因为windows目录在python脚本检查chromedriver可用性的路径中。

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

司机= webdriver.Chrome ()

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

(1)下载chromedriver(如本线程前面所述),并将(解压缩)chromedriver.exe放在X:\文件夹\your\choice

(2) Python代码示例:

import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';

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控制台将显示以下错误: 在browser.title中断言“Django” AssertionError