没有这样的文件或目录:'geckodriver'用于Python中的简单Selenium应用程序



我在Linux上运行一个简单的selenium示例:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("something")

并得到一个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'

如何修复?

$ python
Python 3.5.2 (default, Jun 28 2016, 08:46:01) 
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import selenium
>>> from selenium.webdriver.common.keys import Keys
>>> 

下载geckodriver

geckodriver可执行文件可以在这里下载。

Python3 venv

从上面的链接下载geckodriver可执行文件,并将其解压缩到env/bin/,使其只能在虚拟环境中访问。

在你的python代码中,你现在可以做以下事情:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get("https://stackoverflow.com/")
Linux

如果您想使其在系统范围内可用,请从上面的链接下载geckodriver可执行文件并将其解压缩到/usr/bin/(或$PATH中的任何内容)

注意:这需要一个windows用户来测试和确认

从上面的链接下载geckodriver并将其解压到C:WindowsSystem32(或Path环境变量中的任何内容)。

Mac OS X

注:我摘自Vincent van Leeuwen对这个问题的回答。把它放在这里是为了把所有内容集中在一个答案中

要使geckodriver在系统范围内可用,打开终端应用程序并执行以下命令:

brew install geckodriver

更多信息

关于硒的更多信息可以在这里找到:

Selenium需要一个驱动程序来与所选的浏览器连接。例如,Firefox需要安装geckodriver,在运行下面的示例之前需要安装geckodriver。确保它在您的PATH中,例如,将它放在/usr/bin或/usr/local/bin中。

不执行此步骤将会给你一个错误selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable need to be in PATH.

我在Linux中遇到了同样的问题。我使用以下步骤来修复该错误。

cd /bin
# Check on https://github.com/mozilla/geckodriver/releases for the latest release
wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux32.tar.gz
tar -xvzf geckodriver-v0.24.0-linux32.tar.gz
rm geckodriver-v0.24.0-linux32.tar.gz
chmod +x geckodriver
export PATH=$PATH:/bin/geckodriver
geckodriver --version

注意:我尝试了最新版本的geckodriver-v0.26.0,但它不适合我,这就是为什么我安装了旧版本v0.24.0

Linux:sudo apt install firefox-geckodriver

Selenium需要geckodriver才能与Firefox连接。下面是安装geckodriver的方法:

  1. 从https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz下载geckodriver(或者如果您需要32位版本,请转到https://github.com/mozilla/geckodriver/releases查看更多下载选项)
  2. 解压文件到你的下载文件夹
  3. 打开控制台并运行sudo mv ~/Downloads/geckodriver /usr/bin

Mac OSX:

火狐?brew install geckodriver

铬吗?brew install chromedriver

在linux上,你可以先安装Homebrew,然后通过它安装brew install geckodriver

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
brew install geckodriver

或安装Nix

curl https://nixos.org/nix/install | sh
nix install geckodriver

但是在您的系统中添加另一个包管理器可能是一个坏主意。

Mac OSX:

火狐?brew install geckodriver

铬吗?brew install chromedriver

选择一个:

driver = webdriver.Firefox()   # brew install geckodriver
driver = webdriver.Chrome()    # brew install chromedriver

正确的方法是:

sudo apt install firefox-geckodriver

不需要手动安装

有一个python包可以自动安装它,不需要用户手动安装:https://pypi.org/project/geckodriver-autoinstaller/