在阅读了stackoverflow上的许多答案之后,我发现要使Spranter上班,我需要将geckodriver可执行添加到我的路径变量中。
这是我所做的:
终端:
echo 'export PATH=$PATH: /Applications/anaconda/pkgs/geckodriver
i然后通过:
确认它在那里echo $PATH
...显示:
/Applications/anaconda/pkgs/geckodriver:...
然后我尝试了此(重新启动Spyder IDE之后):
from splinter import Browser
browser = Browser('firefox')
...仍然走这个错误:
WebDriverException: 'geckodriver' executable needs to be in PATH.
将geckodriver
二进制移至/usr/bin/
来自linfo.org(强调我自己的):
路径是Linux和其他类似Unix的环境变量 告诉Shell 的操作系统要搜索哪些目录 可执行文件
换句话说,问题(除了路径中的额外空间外)是,您将二进制文件本身的路径添加到搜索路径中,而不是包含该二进制文件的 Directory 。如果您再次使用export PATH=$PATH:/Applications/anaconda/pkgs
尝试并确认geckodriver
二进制文件是可执行的,并且直接生活在/Applications/anaconda/pkgs
目录内(或路径中的任何其他目录),则应如预期的那样工作。
另外,您当然可以将二进制文件放在OSX上的搜索路径之一中,例如/usr/local/bin
,/bin
或@Rubi Jihantoro建议,/usr/bin
为了找出外壳是否可以找到您的二进制文件,您可以随时在该二进制文件上运行which
,并且它会在找到二进制的位置(例如,例如,例如,例如。
> which geckodriver
/Applications/anaconda/pkgs/geckodriver