51Testing软件测试论坛

标题: python+webdriver环境调用Firefox报错,有谁知道什么原因吗,烦请告知,再次谢过 [打印本页]

作者: yb3791    时间: 2016-3-18 22:51
标题: python+webdriver环境调用Firefox报错,有谁知道什么原因吗,烦请告知,再次谢过
python+selenium+webdriver的环境刚搭好,测试了selenium安装没有问题,在测试webdriver调用Firefox的时候报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xd2 in position 7: ordinal not in range(128),
测试代码如下:
#-*- coding:UTF-8 -*-
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("https://www.baidu.com")
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()

报错信息如下:
Traceback (most recent call last):
  File "D:/test/yongli/test001.py", line 4, in <module>
    browser = webdriver.Firefox()
  File "D:\Program Files\Python27\lib\site-packages\selenium-2.53.1-py2.7.egg\selenium\webdriver\firefox\webdriver.py", line 103, in __init__
    self.binary, timeout)
  File "D:\Program Files\Python27\lib\site-packages\selenium-2.53.1-py2.7.egg\selenium\webdriver\firefox\extension_connection.py", line 49, in __init__
    self.profile.add_extension()
  File "D:\Program Files\Python27\lib\site-packages\selenium-2.53.1-py2.7.egg\selenium\webdriver\firefox\firefox_profile.py", line 91, in add_extension
    self._install_extension(extension)
  File "D:\Program Files\Python27\lib\site-packages\selenium-2.53.1-py2.7.egg\selenium\webdriver\firefox\firefox_profile.py", line 261, in _install_extension
    if not os.path.isdir(os.path.dirname(os.path.join(tmpdir, name))):
  File "D:\Program Files\Python27\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd2 in position 7: ordinal not in range(128)

各位大神,有谁知道什么原因吗,烦请告知,再次谢过

作者: Alizwd    时间: 2016-3-21 10:16
D:\1.png我复制你的脚本可以运行,UnicodeDecodeError编码错误,估计是你脚本的编码格式有问题,楼主试试把脚本用文本工具改一下格式,然后在运行试试
作者: fhhh_eyou    时间: 2016-3-23 09:41
你看一下Firefox支持的编码UTF-8还是其它的编码,支持字节数据比较短只有128个字节。
确认一下支持字节数据是多少。
作者: 大尾巴羊    时间: 2016-3-23 13:24
Python的默认编码为ascii,Windows为Unicode,你的C盘中Users文件夹下的个人用户文件夹是不是中文的?如果是的话,可以尝试新建一个Windows用户为字母名称,users目录下的个人文件夹也起名字母格式的然后进行尝试。以上原因及方法仅个人推测。版主如果有解决也请回个帖告知一下解决办法,谢谢
作者: yb3791    时间: 2016-3-23 21:47
Alizwd 发表于 2016-3-21 10:16
我复制你的脚本可以运行,UnicodeDecodeError编码错误,估计是你脚本的编码格式有问题,楼主试试把脚本用文 ...

脚本编码默认设置成了utf-8
作者: yb3791    时间: 2016-3-23 21:49
大尾巴羊 发表于 2016-3-23 13:24
Python的默认编码为ascii,Windows为Unicode,你的C盘中Users文件夹下的个人用户文件夹是不是中文的?如果 ...

是的,个人用户文件夹是中文的问题,重新建了个用户之后,就能正常运行了,朋友,谢谢你
作者: 大尾巴羊    时间: 2016-3-29 11:17
yb3791 发表于 2016-3-23 21:49
是的,个人用户文件夹是中文的问题,重新建了个用户之后,就能正常运行了,朋友,谢谢你

解决了就好,我也是这个问题闹的头痛




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2