解决webdriver调用Firefo

发布时间:2019-09-26 07:34:04编辑:auto阅读(1922)

    如何解决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 terminalecho $PATH中的系统环境变量路径中能找到geckodriver可执行程序就可以了,pycharm可以做到不用改动初始值即可正常运行,

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

    browser = webdriver.Firefox(executable_path=
    ’
    /usr/local/bin/geckodriver
    ’
    )


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


关键字