python+selenium 执行自动化脚本时能打开火狐浏览器而打不开网址时
提示:Unsupported Marionette protocol version 2, required 3
是由版本不兼容导致的
我安装的selenium是3.6.0版本
火狐浏览器一开始用的是43.0.1
执行自动化脚本后提示:
Traceback (most recent call last):
File "E:\Python\test2.py", line 4, in <module>
browser = webdriver.Firefox()
File "D:\worksoft\Python36\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 154, in __init__
keep_alive=True)
File "D:\worksoft\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 151, in __init__
self.start_session(desired_capabilities, browser_profile)
File "D:\worksoft\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 240, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "D:\worksoft\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "D:\worksoft\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unsupported Marionette protocol version 2, required 3
接下来打开火狐浏览器,帮助-关于Firefox(A)
要是看不到帮助入口,则按下键盘Alt键,浏览器最上方会出现菜单栏
打开关于Firefox(A)之后,我的版本是43.0.1,点击检查更新
提示我更新到47.0.2,点击更新,到这里它就自己下载更新了,更新好点击重启一下Firefox浏览器就好了
重新启动后发现此时我的浏览器版本已经是47.0.2
此时重新执行自动化脚本,则可以运行成功不会报错
到这里就完成第一个自动化脚本的运行了。
对了,火狐浏览器一定要设置不检查更新,否则又会版本冲突
以下是我目前所了解到的selenium和Firefox的能对应上的版本
selenium ---->Firefox
2.45 ----> 36
2.48 ----> 37
2.53 ----> 46
3.60 ----> 47
第一次写文章,自己也是小白开始,所以比较懂小白的痛点,故写的文章也是偏傻瓜教程
希望可以帮到大家