在阅读了StackOverflow上的许多答案之后,我发现为了让Splinter工作,我需要将geckodriver可执行文件添加到我的PATH变量中。
我所做的是:
在航站楼:
echo 'export PATH=$PATH: /Applications/anaconda/pkgs/geckodriver然后我通过以下途径确认了它的存在:
echo $PATH...which显示:
/Applications/anaconda/pkgs/geckodriver:...然后我尝试了这个(在重新启动我的Spyder之后):
from splinter import Browser
browser = Browser('firefox')...and仍然会犯以下错误:
WebDriverException: 'geckodriver' executable needs to be in PATH. 发布于 2017-12-25 05:20:50
将geckodriver二进制文件移动到/usr/bin/
发布于 2018-01-19 04:45:32
来自linfo.org (强调我自己的):
PATH是Linux和其他类似Unix的操作系统中的一个环境变量,它告诉shell 哪些目录要搜索可执行文件。
换句话说,问题(除了路径中的额外空间)是将路径添加到二进制文件本身,而不是将包含该二进制文件的目录添加到搜索路径。如果您再次尝试使用export PATH=$PATH:/Applications/anaconda/pkgs,并确认geckodriver二进制文件是可执行的,并且直接驻留在/Applications/anaconda/pkgs目录(或路径中的任何其他目录)中,那么事情就会像预期的那样工作。
当然,您也可以将二进制文件默认放在OSX搜索路径中的某个目录中,例如/usr/local/bin、/bin或@Rubi Jihantoro建议的目录,/usr/bin
为了找出shell是否能找到您的二进制文件,您可以始终在该二进制文件上运行which,如果在任何地方,它都会打印出二进制文件的位置。
> which geckodriver
/Applications/anaconda/pkgs/geckodriverhttps://stackoverflow.com/questions/47965756
复制相似问题