解决webdriver调用Firefox()报错 (mac python3)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决webdriver调用Firefox()报错 (mac python3)相关的知识,希望对你有一定的参考价值。
如何解决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也能不赋值就能正常执行。
本文出自 “antidarkness's blog” 博客,请务必保留此出处http://antidarkness.blog.51cto.com/6146867/1974695
以上是关于解决webdriver调用Firefox()报错 (mac python3)的主要内容,如果未能解决你的问题,请参考以下文章
python中使用selenium调用Firefox缺少geckodriver解决方法