我正在使用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

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


当前回答

为将来的读者提供一些额外的输入/澄清, 以避免修补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

其他回答

如果你正在使用远程解释器,你还必须检查它的可执行路径是否定义。在我的例子中,从远程Docker解释器切换到本地解释器解决了这个问题。

在C:\Windows. exe中添加webdriver(chromedriver.exe或geckodriver.exe)。 这对我来说很管用

如果你正在使用机器人框架RIDE。然后你可以从官网下载Chromedriver.exe,并将这个。exe文件保存在C:\Python27\Scripts目录下。现在将此路径作为环境变量。C: \ Python27 \ \ chromedriver.exe的脚本。

重新启动计算机并再次运行相同的测试用例。你不会再遇到这样的问题了。

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

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

对我来说,解决方案是改变PATH中的文件夹,所以我只是在Pycharm Community bin文件夹中移动它,这也是在PATH中。 例:

C:\Windows\System32\chromedriver.exe——>给我一个异常 C:\Program Files\JetBrains\PyCharm社区版 2019.1.3\bin\chromedriver.exe—>运行正常