2017-05-01 41 views
2

我試圖用硒啓動Firefox,但我經常收到硒是給「KeyError異常:‘的sessionId’」

File "/Library/Python/2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 150, in __init__ 
    keep_alive=True) 
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 180, in start_session 
    self.session_id = response['sessionId'] 
KeyError: 'sessionId' 

我試圖運行的代碼是相當簡單的

from selenium import webdriver 
driver = webdriver.Firefox() 

解決方案我曾嘗試:

  1. 嘗試更新硒(我已經採用了最新的一個)
  2. 更新了geckodriver到0.16.1
  3. 版本試圖改變代理設置

沒有奏效至今。

配置我使用: geckodriver 0.16.1 ,Mozilla Firefox瀏覽器53 ,Python 2.7版 ,硒3.4.1 ,我在Mac系統上(是否有幫助)

+0

你需要給火狐()方法 – demouser123

+0

@bad_deadpool我也試過了,但仍然沒有工作裏面你geckodriver二進制文件的路徑。請提出其他建議 – iVvaibhav

回答

0

我沒去在這個細節,遺憾的是,但也許這可以幫助你或給你一個有用的提示:

的Ubuntu 16.04在以下工作對我來說:

如果您運行PIP安裝程序作爲普通用戶帳戶, 它似乎與內容創建這兩個目錄:

  • 〜/。當地/ lib目錄
  • 〜/。當地/硒

不知怎的,它不能正確地更新這一點,所以這兩個目錄似乎包含一箇舊版本的硒,並在我的設置中需要libs。我已經刪除了這兩個子樹,通過

sudo pip install -U selenium 

然後,它爲我工作這麼導入的webdriver現在使用的系統範圍內安裝的硒,我升格爲根。也請看看你的腳本使用,我需要告訴大家,我在python腳本開始通過家當使用python2.7慶典的Python版本:

#!/usr/bin/python2.7 
# -*- coding: utf-8 -*- 

或許這該怎麼做與你已經安裝了python綁定,但我不知道,這只是一個猜測,就像我上面告訴的那樣,我沒有深入其中,但它可能會給你一個提示。

我希望它有幫助。乾杯!

2

從Selenium 3.2.0升級到3.7.0爲我解決了這個錯誤。我有geckodriver 0.19.1

pip install -U selenium