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

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


当前回答

PIP安装webdriver-manager

如果使用python3运行脚本:

安装webdriver-manager

然后在脚本中请使用:

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

其他回答

根据指令,当实例化webdriver时,你需要包含到ChromeDriver的路径。如铬。

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

最好的方法是:

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

driver= webdriver.Chrome()

你已经完成了,不需要添加路径或任何东西

我在Webdriver 3.8.0 (Chrome 73.0.3683.103和ChromeDriver 73.0.3683.68)上遇到了这个问题。我这么做之后,问题就消失了

pip install -U selenium

将Webdriver升级到3.14.1。

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

可执行路径已弃用!

如果你得到exectuable_path ash been deprecated警告,下面是修复…

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