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())