python 与 selenium 学习笔记

时间:2021-08-16 06:56:44

 

 

在写自动运行测试用例,并且生成HTML报告的时候,遇到了这个报错:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)

原因是我的Python版本是2.*,在将中文encode(UTF-8)的时候出现了问题。而在3.*中没有问题。

解决方法:

在代码前端加入

import sys
reload(sys)
sys.setdefaultencoding('utf8')

 即可。

Python 2.x,混淆了 python2 里边的 str 和 unicode 数据类型。有两种----->str字符串(此时字符串的编码类型,对应着你的Python文件本身保存为何种编码有关)和unicode字符串
而在Python 3.*中,字符串则是unicode编码的str。上面这个问题,就是Python2.*渣编码的一个体现。python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii。

 参考资料:http://blog.csdn.net/a359680405/article/details/42554095