Python3+selenium配置常见报错解决方案


Posted in Python onAugust 28, 2020

第一个坑:'geckodriver' executable needs to be in PATH

1.如果启动浏览器过程中报如下错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\test\python3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__
self.service.start()
File "D:\test\python3\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

2.这个是因为最新的selenium3.0启动firefox需要geckodriver.exe这个驱动文件。

3.下载之后,配置到环境变量path下(可以直接放python根目录)

第二坑:Expected browser binary location, but unable to find binary in default location

1.如果启动浏览器过程中报如下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\test\python3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 155, in __init__
keep_alive=True)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)

File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 238, in execute
self.error_handler.check_response(response)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 193, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location,
no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line.

2.这个是因为firefox.exe这个文件也需要配置到环境变量path下。

3.这个路径就是安装完firefox后,找到firefox.exe这个文件的地址,加到path下。

第三坑:Unsupported Marionette protocol version 2, required 3

1.如果启动浏览器过程中出现如下错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>

File "D:\test\python3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 155, in __init__
keep_alive=True)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 238, in execute
self.error_handler.check_response(response)
File "D:\test\python3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 193, in check_response

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unsupported Marionette protocol version 2, required 3

2.这个错误原因是firefox版本过低了,最新的selenium3.0版本支持firefox47以上的版本,升级版本就可以了

第四坑:WebDriverException: Message: newSession

1.Traceback (most recent call last):

File “D:\test\python3\lib\site-packages\selenium\webdriver\firefox\\webdriver.py”, line 170, in init
keep_alive=True)
File “D:\test\python3\lib\site-packages\selenium\webdriver\firefox\\webdriver.py”, line 156, in init
self.start_session(capabilities, browser_profile)
File “D:\test\python3\lib\site-packages\selenium\webdriver\firefox\\webdriver.py”, line 245, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File “D:\test\python3\lib\site-packages\selenium\webdriver\firefox\\webdriver.py”, line 314, in execute
self.error_handler.check_response(response)
File “D:\test\python3\lib\site-packages\selenium\webdriver\firefox\\errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: newSession

2.下载最新的geckodriver.exe 然后把它放到python的安装目录下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python标准日志模块logging的使用方法
Nov 01 Python
Python基类函数的重载与调用实例分析
Jan 12 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
浅谈python字符串方法的简单使用
Jul 18 Python
Python 数据处理库 pandas 入门教程基本操作
Apr 19 Python
django中forms组件的使用与注意
Jul 08 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
python如何实现数据的线性拟合
Jul 19 Python
使用pip安装python库的多种方式
Jul 31 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
python爬虫---requests库的用法详解
Sep 28 Python
Python 中如何写注释
Aug 28 #Python
Python操作Word批量生成合同的实现示例
Aug 28 #Python
Python接口自动化测试的实现
Aug 28 #Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 #Python
Python自动登录QQ的实现示例
Aug 28 #Python
python opencv pytesseract 验证码识别的实现
Aug 28 #Python
简单的命令查看安装的python版本号
Aug 28 #Python
You might like
Mysql的常用命令
2006/10/09 PHP
一个分页的论坛
2006/10/09 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
简单的php购物车代码
2020/06/05 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
javascript帧动画(实例讲解)
2017/09/02 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
简单分析js中的this的原理
2019/08/31 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
从python读取sql的实例方法
2020/07/21 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
数控技术专业推荐信
2013/11/01 职场文书
店长助理岗位职责
2013/12/13 职场文书
网络维护中文求职信
2014/01/03 职场文书
跑操口号
2014/06/12 职场文书
民间借贷协议书范本
2014/10/01 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS