2017-06-19 132 views
0

我將geckodriver.exe添加到PATH中,你可以在this image 上看到,我之後重新啓動了我的電腦。但是錯誤仍然顯示出來。Python 3.5 - 「Geckodriver可執行文件需要在路徑中」

這裏是我的代碼:

from selenium import webdriver 

driver = webdriver.Firefox() 
driver.get('https://stackoverflow.com') 

你想過我做錯了什麼線索?

+1

你介意發佈錯誤嗎? – cjonesrun

+0

[Selenium使用Python - Geckodriver可執行文件需要在PATH中]可能的重複(https://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path) – Andersson

+0

在windows中,創建環境變量「webdriver.gecko.driver」並將驅動程序路徑(「c:\ geckodriver.exe」)設置爲值。 – Murthi

回答

0

有三種方法可以解決此錯誤。

  1. 下載gecko驅動程序並將其保存在python測試腳本所在的目錄中。
  2. 將驅動程序路徑的環境變量「webdriver.gecko.driver」設置爲值。 os.environ["webdriver.gecko.driver"]="c:\geckodriver.exe"

  3. 傳遞給構造函數的可執行文件路徑類似driver = WebDriver.Firefox("path of executable")

0

這裏是回答你的問題:

我沒有看到在你的代碼塊中的任何顯著錯誤。 在使用Selenium 3.4.3,geckodriver v0.17.0,Mozilla Firefox 53.0以及Python 3.6.1時,您可以考慮下載geckodriver並將其保存在機器的任何位置,並通過executable_path配置geckodriver的絕對路徑。

需要指出的是,當前的Selenium-Python綁定與geckodriver不穩定,並且看起來是架構特定的。你可以在這裏找到github discussionmerge。所以,你可能還需要通過Firefox的二進制文件的絕對路徑作爲firefox_binary參數在初始化webdriver的

這裏是我的最終執行好自己的代碼塊:

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe') 
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe") 
driver.get('https://stackoverflow.com') 

設我知道這個答案你的問題。

+0

感謝您的回答,但它現在說:「WebDriverException:無法找到匹配的功能集」 – Hobsido

+0

@Hobsido您能否考慮確保您提供了'firefox.exe'和'geckodriver.exe'的正確絕對路徑?您使用Linux或Windows的系統是哪個?謝謝 – DebanjanB

+0

我在Windows上工作,我檢查:兩個路徑都是正確的 – Hobsido

0

您是否正確設置了功能?如果您正在設置版本功能,請確認它是否正確或完全刪除。我在談論如下:capabilities.SetCapability(「version」,「50.0」);

相關問題