我想使用selenium (3.141.0)和Firefox (89.0.1)浏览器来做一些网页抓取。
我在Python Sur11.4和macOS 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变量的解决方案不起作用。
致所有的网络摩天大楼:我该如何解决这个问题?
发布于 2021-06-21 09:11:33
驱动程序在哪里并不重要,你只需要给出正确的路径。把驱动程序放在你的.py旁边,然后试试这个。
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
browser = webdriver.Firefox(executable_path='./geckodriver')
type(browser)
browser.get('https://inventwithpython.com')
https://stackoverflow.com/questions/68059893
复制相似问题