我正在尝试使用selenium启动firefox,但我一直在
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()
我尝试过的解决方案:
到目前为止,一切都没有奏效。
我正在使用的配置: geckodriver 0.16.1 ,Mozilla Firefox 53 ,Python 2.7 ,Selenium 3.4.1 ,我在Mac系统上(如果有帮助的话)
答案 0 :(得分:3)
从Selenium 3.2.0升级到3.7.0为我修复了这个错误。我有geckodriver 0.19.1
pip install -U selenium
答案 1 :(得分:0)
我没有详细说明这一点,对不起,但也许这可以帮助你或给你一个有用的提示:
以下在Ubuntu 16.04下为我工作:
如果您将pip安装程序作为普通用户帐户运行,它似乎会创建包含内容的这两个目录:
不知怎的,它无法正确更新,因此这两个目录似乎包含旧版本的selenium并且在我的设置中需要libs。我删除了这两个子树,因此导入webdriver现在使用系统范围的selenium安装,我通过
升级为root。sudo pip install -U selenium
然后它对我有用。请看看你的脚本正在使用哪个python版本,我需要告诉bash我在python脚本开头通过shebang使用python2.7:
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
也许这与你安装的python绑定有关,但我不知道,这只是一个猜测,正如我上面所说,我没有深入研究它,但它可能会给你一个提示
我希望它有所帮助。干杯!
答案 2 :(得分:0)
我已通过将硒服务器版本降级到v.2.x解决了该问题。
即-我尝试使用最新的2.x,而不是最新的3.x服务器版本(selenium-server-standalone-3.141.59.jar)。硒服务器版本(selenium-server-standalone-2.53.1.jar)
我的Python版本:
Python 2.7.10
robotframework==2.9.2
robotframework-requests==0.4.5
requests==2.11.1
requests-oauthlib==0.7.0
requests-toolbelt==0.7.0
robotframework-selenium2library==1.8.0
selenium==3.0.1
requests-oauthlib==0.7.0
requests-toolbelt==0.7.0
其他软件:
ChromeDriver 77.0.3865.40
Google Chrome Version 77.0.3865.90 (Official Build) (64-bit)
Windows 10`
答案 3 :(得分:0)
对我来说,发生了以下事情(我在Kali Linux上工作):
卸载Selenium:
pip uninstall selenium
当我尝试重新安装selenium时,我发现/usr/lib/python3/dist-packages/
中已经存在另一个selenium(v 4.0)实例
我从上述目录中同时删除了selenium
和selenium-4.0.0a1.egg-info
文件夹(您需要sudo
权限)。
我使用selenium
重新安装了pip
,现在脚本运行正常。