蟒蛇硒和铬

AK9*_*309 11 python selenium google-chrome

我在我的 Mac 上通过 anaconda 运行 selenium。为了能够选择 Chrome 作为我的 webdriver,我需要下载最新的 chromedriver。但我无法弄清楚将文件放在路径中的位置。如果我只是跑

driver = webdriver.Chrome()

WebDriverException: Message: unknown error: cannot find Chrome binary
Run Code Online (Sandbox Code Playgroud)

我应该把 chromedriver 放进去,anaconda/lib/python2.7/site-packages/selenium/webdriver/如果是的话,我如何指定 selenium 来使用它?

我知道它必须很简单,因为我已经像一年前一样在另一台计算机上设置了 chromedriver,但我现在无法访问它。

编辑:试过这个

import os
from selenium import webdriver

chromedriver = "/Users/username/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
Run Code Online (Sandbox Code Playgroud)

得到这个错误:

WebDriverException: Message: unknown error: cannot find Chrome binary
  (Driver info: chromedriver=2.23.409710 (0c4084804897ac45b5ff65a690ec6583b97225c0),platform=Mac OS X 10.11.6 x86_64)
Run Code Online (Sandbox Code Playgroud)

Mir*_*cea 11

最简单的方法是通过 anaconda 安装 chrome-driver(尤其是在您无权从 .deb 包安装 chrome-driver 的机器上运行时)

conda install -c conda-forge python-chromedriver-binary 
Run Code Online (Sandbox Code Playgroud)

(根据 bgoodr 的评论更新(/sf/users/18054711/) - 请在下面投票他的评论)。

  • 对未来读者的警告:如果您将 anaconda 中的那个安装到包含 python3 的 conda env 中,它将“取代”python _back_ 到 python2,并且会导致大量的哀号和咬牙切齿。而是通过诸如“conda install -n envpython3 -c conda-forge python-chromedriver-binary”之类的东西从 conda-forge 通道中提取包。在 https://anaconda.org/search?q=chromedriver 上比较 anaconda 版本与 conda-forge 版本之间下载数量的巨大差异 (9认同)
  • @Mike 那条评论是大约两年前的,问题不再存在了:) (2认同)

Dav*_*arx 7

最简单的解决方案是按照@bgodr 的建议安装 chromedriver:

conda install -c conda-forge python-chromedriver-binary
Run Code Online (Sandbox Code Playgroud)

然后在代码的顶部,添加以下导入语句以适当地更新 PATH 变量:

import chromedriver_binary
Run Code Online (Sandbox Code Playgroud)


AK9*_*309 3

  1. 下载最新的 chromedriver
  2. 更新 Chrome 本身
  3. 在你的代码中

from selenium import webdriver driver_path = '/path to chromedriver.exe/' driver = webdriver.Chrome(driver_path) driver.get('somewebsite')