2017-05-01 45 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