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

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


当前回答

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

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

其他回答

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

例子:

正确的:

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

错误的:

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


Windows系统变量和CMD测试:

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

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

如果不是,你需要匹配版本:更新/降级你的chrome浏览器,升级/降级你的webdriver。

我建议更新你的chrome版本尽可能多,并匹配的网络驱动程序。

更新chrome浏览器:

在右上角,点击三个点。 点击help ->关于谷歌Chrome 更新版本并重新启动chrome

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

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

现在你可以把它添加到PATH:

在你电脑的某个地方创建一个新文件夹,在那里你将放置你的网络驱动程序。 我在C:\Program Files中创建了一个名为webdrivers的文件夹 复制文件夹路径。对我来说,是C:\Program Files\webdrivers 右键点击这台PC ->属性:

2 .右键单击“Advanced System settings” 单击环境变量 在“系统变量”中,单击“路径”,然后单击“编辑” 单击new 粘贴之前复制的路径 在所有窗口上单击OK

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

你可以测试它是否真的在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")

我看到讨论仍然在讨论通过下载二进制文件和手动配置路径来设置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二进制文件。