今天小编就为大家分享一篇解决python3运行selenium下HTMLTestRunner报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

修改HTMLTestRunner.py以支持python3+

搜索到的结果整理

修改一: 在python shell里输入 >>>import HTMLTestRunner >>> dir(HTMLTestRunner) 发现不认识StringIO (No module named StringIO)

确实3里面没有这个了,第94行引入的名称要改,改成import io,539行要改成self.outputBuffer = io.BytesIO()

修改二: 运行程序的时候有报错,AttributeError: ‘dict' object has no attribute ‘has_key' 发现has_key的又被K掉了

到642行去做修改,if not rmap.has_key(cls): 需要换成 if not cls in rmap: (修改的时候换行、空格等不要改掉原有的格式)

修改三: 运行,继续有报错:'str' object has no attribute ‘decode'

好像是3里面对字符的操作,decode已经拿掉了。定位一下,报在了772行,ue = e.decode(‘latin-1'),那么不需要decode操作了吧,直接改成 ue = e ,另外766还有类似的uo = o.decode(‘latin-1'),可不动先留着;

打开本地文件需用 fp = open(filename,'wb'),不要再去用file了;关闭该文件可用fp.close()

修改四: 继续运行,发现还是在纠结数据类型的错: output = saxutils.escape(uo+ue), TypeError: can't concat bytes to str

bytes和str不能直接连起来,那么778行的内容escape(uo+ue) 有一个处理的“笨办法”:都改成str,可修改该处内容为escape(str(uo)+ue)

修改五:(此处是最后一处改动了) 程序已然运行大半,但是最后还是有error: print >>sys.stderr, ‘\nTime Elapsed: %s' % (self.stopTime-self.startTime) TypeError: unsupported operand type(s) for >>: ‘builtin_function_or_method' and ‘RPCProxy'

到631行,把print的语句修改掉,改成 print (sys.stderr, ‘\nTime Elapsed: %s' % (self.stopTime-self.startTime))

以上这篇解决python3运行selenium下HTMLTestRunner报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持爱安网。

最新资讯
外媒评过去十年100款最酷电子产品:iPhone 4居首

外媒评过去十年100款

美国科技网站The Verge今日评出了“10年来最酷的100款
苹果供应商JDI获8.3亿美元救助资金 苹果另出资2亿

苹果供应商JDI获8.3亿

据国外媒体报道,苹果公司供应商、日(J)本(P)显示面板制造商Ja
无法卖给BAT的每一天:创业者为什么开始抱大腿?

无法卖给BAT的每一天:

To巨头创业的明星棋子淘集集死在了2019。在这一年,BATJ
高通获颁“2019年中国受尊敬企业”奖项

高通获颁“2019年中国

高通无线通信技术(中国)有限公司(Qualcomm)荣获“2019年度
今年双子座流星雨到底是看还是不看呢?

今年双子座流星雨到底

双子座流星雨几乎是每年最强烈最稳定的流星雨(可能没有
上交所王勇:支持和鼓励“硬科技”企业上市

上交所王勇:支持和鼓励

王勇指出,自今年7月上交所科创板开市以来,整体情况运行
最新文章
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件

使用PyInstaller将Pyg

这篇文章主要介绍了使用PyInstaller将Pygame库编写的
Python数学形态学实例分析

Python数学形态学实例

这篇文章主要介绍了Python数学形态学,结合实例形式分
Python scipy的二维图像卷积运算与图像模糊处理操作示例

Python scipy的二维图

这篇文章主要介绍了Python scipy的二维图像卷积运算与
python自动发微信监控报警

python自动发微信监控

这篇文章主要为大家详细介绍了python自动发微信监控报
修改 CentOS 6.x 上默认Python的方法

修改 CentOS 6.x 上默

这篇文章主要介绍了修改 CentOS 6.x 上默认Python的方
Python使用Slider组件实现调整曲线参数功能示例

Python使用Slider组件

这篇文章主要介绍了Python使用Slider组件实现调整曲线