簡體   English   中英

Selenium安裝Marionette webdriver

[英]Selenium install Marionette webdriver

我有這個問題與firefox版本47 https://github.com/seleniumhq/selenium/issues/2110

所以,我試圖添加Marionette網絡驅動程序來修復它: https//developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

但:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/Users/myproject/geckodriver-0.8.0-OSX'

返回錯誤:

selenium.common.exceptions.WebDriverException:消息:'wires'可執行文件需要在PATH中。

異常AttributeError:“'服務'對象在>忽略中沒有屬性'process'”

硒== 2.53.5

您設置的firefox二進制功能指向firefox二進制文件,而不是木偶驅動程序二進制文件。 您需要將/Users/myproject/geckodriver-0.8.0-OSX添加到您的路徑,如下所示:

打開終端並運行此命令

export PATH=$PATH:/Users/myproject/geckodriver-0.8.0-OSX

遇到了這個問題並且可以確認firefox_capabilities['binary']應該指向Firefox二進制文件,而不是GeckoDriver。 Mozilla WebDriver文檔中的Python示例已在此主題中闡明。

除了其他兩個答案之外,您可能不希望更改PATH系統范圍,因為只有在運行測試時才需要它。 只在需要時才能獲得正確的PATH方法是在代碼中設置它:

os.environ["PATH"] += os.pathsep + 'path/to/dir/containing/geckodriver/'

一個更簡單的解決方法是簡單地將geckodriver二進制文件移動到路徑中已有的目錄:

mv geckodriver /usr/local/bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM