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的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
django ajax json的实例代码
May 29 Python
Python查找第n个子串的技巧分享
Jun 27 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
如何在Django项目中引入静态文件
Jul 26 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
python删除某个目录文件夹的方法
May 26 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
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
html下载本地
2006/06/19 Javascript
js获取变量
2006/08/24 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
uni app仿微信顶部导航条功能
2019/09/17 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Python 实现微信防撤回功能
2019/04/29 Python
简单了解Django ContentType内置组件
2019/07/23 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
python实现图片素描效果
2020/09/26 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
幼儿园中班新学期寄语
2014/01/18 职场文书
校长先进事迹材料
2014/02/01 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
粗暴解决CUDA out of memory的问题
2021/05/22 Python