【发布时间】:2021-09-04 15:37:42
【问题描述】:
我想在 Firefox (89.0.1) 浏览器中使用 selenium (3.141.0) 来做一些网页抓取。
我使用 macOS Big Sur 11.4 和 Python 3.9 工作。
以下代码抛出错误:
#! python3
# openFirefox.py - Opens a Firefox browser window with selenium.
from selenium import webdriver
browser = webdriver.Firefox()
type(browser)
browser.get('https://inventwithpython.com')
错误信息:
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'
和
During handling of the above exception, another exception occurred:
Message: 'geckodriver' executable needs to be in PATH.
我知道这是用户的常见问题,并且在 SO 上有不同的帖子,但我仍然没有找到解决问题的好方法。
我在这里下载了最新的 geckodriver 版本: https://github.com/mozilla/geckodriver/releases
geckodriver-v0.29.1-macos.tar.gz
我的 PATH 变量如下所示:
我的想法是将 geckodriver 添加到我的 PATH 环境变量中,并将其放在以下目录中:
/usr/local/bin
但是同样的错误信息又来了。
我已经阅读了一些帖子,我可以这样编写代码(这是一种解决方案):
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
browser = webdriver.Firefox(executable_path=GeckoDriverManager().install())
type(browser)
browser.get('https://inventwithpython.com')
我仍然想知道为什么将 geckodriver 目录添加到我的 PATH 变量的解决方案不起作用。
致所有网络爬虫:我该如何解决这个问题?
【问题讨论】:
标签: python-3.x selenium selenium-webdriver web-scraping firefox