1. 程式人生 > >解決webdriver調用Firefox()報錯 (mac python3)

解決webdriver調用Firefox()報錯 (mac python3)

python

如何解決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也能不賦值就能正常執行。


本文出自 “antidarkness's blog” 博客,請務必保留此出處http://antidarkness.blog.51cto.com/6146867/1974695

解決webdriver調用Firefox()報錯 (mac python3)