Python 错误 WebDriverException: Message: Geckodriver Executable Needs to Be in PATH

Python 中的 selenium 包可以在 Web 浏览器上自动执行任务。 使用他们的网络驱动程序,我们可以使用不同的网络浏览器,如 Google Chrome、Firefox 等。

本教程将讨论Python中错误 Message: ‘geckodriver’ executable needs to be in PATH

geckodriver 是 Mozilla 开发的浏览器引擎,充当 Selenium 和 Firefox 浏览器之间的链接。 当驱动程序未正确安装或未正确指定其路径时,会发生此错误。

请参阅下面的代码。

from selenium import webdriver
browser = webdriver.Firefox()

输出:

WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

现在让我们讨论解决此错误的不同方法。


使用 geckodriver.exe 文件并将其添加到系统路径

Selenium 尝试从系统环境变量 PATH 中识别驱动程序可执行文件。 我们可以将 geckodriver 的可执行路径添加到这个变量中。

首先,我们必须从 Mozilla 官方网站下载驱动程序的可执行文件。 我们需要将包含此可执行文件的目录路径添加到前面讨论的 PATH 变量中。

PATH 变量可以在环境变量菜单下找到。 我们需要右键单击“这台电脑”图标,转到“属性”,然后选择“高级设置”选项以获取此菜单。

Linux用户可以将可执行文件直接复制到/usr/local/bin目录下。


在 webdriver.Firefox() 函数中使用 executable_path 参数

我们使用 webdriver.Firefox() 构造函数来创建可以打开浏览器窗口并执行自动化任务的 Driver 对象。 我们可以使用 executable_path 参数在此函数中指定 geckodriver 可执行文件的路径。

例如:

from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'user\jiyik\geckodriver.exe')

Mac OS 用户也可以使用自制软件安装 geckodriver。 可以使用以下命令。

brew install geckodriver

安装后,显示驱动程序的路径。 我们可以复制这个路径,粘贴到Finder应用程序中,然后点击Go to Folder。

这将返回可在 executable_path 参数中使用的驱动程序的完整路径。


使用 webdriver-manager 模块

引入 webdriver-manager 模块是为了减轻管理不同浏览器的网络驱动程序的负担。

我们可以使用 GeckoDriverManager().install() 函数来安装和使用 geckodriver 的可执行文件。 这需要在前面讨论的 executable_path 参数中指定。

请参阅下面的代码。

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver_object = webdriver.Firefox(executable_path=GeckoDriverManager().install())
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值