如何解决selenium webdriver.Firefox()找不到geckodriver文件
先声明:python IDLE我找不到能使用环境变量的设置,如你有更好的方法,请留言,多谢了。
平台:macOS 软件 python自带IDLE 版本python3.6
原材料:先在搜索引擎自行搜索geckodriver的最新版本下载,解压后将文件放在/usr/local/bin/中
以下:
错误提示:
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Python IDLE有很多很奇怪的东西,比如当找不到指定文件的时候,不会去系统环境变量的路径里面找,所以用很多api库函数时,他们本来会赋予的路径初始值会毫无作用,要重新在idle引用时赋值,否则会抛出异常。如:
from selenium import webdriver
browser = webdriver.Firefox()
//里面有个参数的默认初始值executable_path=”geckodriver”
即当mac terminal中echo $PATH中的系统环境变量路径中能找到geckodriver可执行程序就可以了,pycharm可以做到不用改动初始值即可正常运行,
但python IDLE会抛出异常,找不到geckodriver,必须重新赋值,用该可执行程序的绝对地址来赋值:
browser = webdriver.Firefox(executable_path=
’
/usr/local/bin/geckodriver
’
)
方可正常执行,或者你直接找到selenium包中的webdriver.py把里面的初始值改为上面这个绝对地址,这样也可以达到pythonIDLE也能不赋值就能正常执行。