我刚开始编程,大约两个月前开始使用Python,现在我要复习Sweigart用Python文本自动处理那些无聊的东西。我正在使用Spyder 3,并且已经安装了selenium模块和Firefox浏览器。我在python文件中使用了以下代码
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://inventwithpython.com')
我得到这个错误:
Message: 'geckodriver' executable needs to be in PATH.
除了进入终端并使用
brew install geckodriver
奇怪的是,如果我进入terminal并键入“python”,然后将代码放入其中,它就会工作,但在Spyder中运行该文件时不会工作。我需要把geckodriver.exe文件放在哪里才能工作?我试过将它放在不同的文件夹中(与python文件相同的文件夹、与webdriver文件相同的文件夹、用户bin中等等),但是我得到了相同的错误
我看过类似的问题,但似乎找不到有效的方法。我也尝试过Chrome,但我得到了相同的错误,但chromedriver。
which geckodriver
产生/usr/local/bin/geckodriver
我也在Mac上,所以文件路径对我来说比在windows上要难一些。
下载geckodriver并放入/usr/local/bin; 然后使用webdriver.Firefox,如下所示:
也许有人能解释为什么找不到这条路。我也希望这能帮助其他人解决他们自己的路径问题。
你当然可以把壁虎放在任何你喜欢的地方。在我的Mac上,我选择了~/.local/bin,因为它是存储特定于用户帐户的可执行文件的常用位置。例如。Heroku CLI位于~/.local/share中。这种方法还消除了向/usr/local/bin这样的系统位置添加可执行文件时对超级用户访问的需要
然后我用
我通过打开一个终端进行测试,并检查:
效果很好。
但在Python虚拟环境中,由于某种原因,系统路径没有被传递??我在selenium测试脚本中添加了以下内容:
这表明:
因此,最终我不得不指定路径:
这种方法工作得很好,但我还是想知道为什么我不能在虚拟环境中设置路径。
解决方法:我将geckodriver exe放在/Users/sethkillian/anaconda/bin中,现在它可以在Spyder中正常工作。谢谢你的帮助!
相关问题 更多 >
编程相关推荐