解決webdriver調用Firefox()報錯 (mac python3)
阿新 • • 發佈:2017-10-21
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 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)