解决webdriver调用Firefo

2020-01-03 11:16:18 浏览数 (1)

如何解决selenium webdriver.Firefox()找不到geckodriver文件 先声明:python IDLE我找不到能使用环境变量的设置,如你有更好的方法,请留言,多谢了。 平台:macOS       软件 python自带IDLE 版本python3.6 原材料:先在搜索引擎自行搜索geckodriver的最新版本下载,解压后将文件放在/usr/local/bin/中 以下:

代码语言:javascript复制
错误提示:
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

Python IDLE有很多很奇怪的东西,比如当找不到指定文件的时候,不会去系统环境变量的路径里面找,所以用很多api库函数时,他们本来会赋予的路径初始值会毫无作用,要重新在idle引用时赋值,否则会抛出异常。如:

代码语言:javascript复制
from selenium import webdriver
browser = webdriver.Firefox()

//里面有个参数的默认初始值executable_path=”geckodriver”

即当mac terminal中echo $PATH中的系统环境变量路径中能找到geckodriver可执行程序就可以了,pycharm可以做到不用改动初始值即可正常运行,

但python IDLE会抛出异常,找不到geckodriver,必须重新赋值,用该可执行程序的绝对地址来赋值:

代码语言:javascript复制
browser = webdriver.Firefox(executable_path=
’
/usr/local/bin/geckodriver
’
)

方可正常执行,或者你直接找到selenium包中的webdriver.py把里面的初始值改为上面这个绝对地址,这样也可以达到pythonIDLE也能不赋值就能正常执行。

0 人点赞