51Testing软件测试论坛

标题: selenium+python启动浏览器报utf-8编码错误,急寻帮助!!! [打印本页]

作者: suxi    时间: 2016-9-14 11:57
标题: selenium+python启动浏览器报utf-8编码错误,急寻帮助!!!
本帖最后由 suxi 于 2016-9-14 14:05 编辑

python IDLE 中的代码:
#coding=utf-8
from selenium import webdriver

browser=webdriver.Firefox()
browser.get("http://www.baidu.com")

browser.find_element_by_id("kw").send_keys(decode("selenium")
browser.find_element_by_id("su").click

browser.quit()


运行结果:
浏览器已打开,但无内容输入
Traceback (most recent call last):
  File "C:/workspace/bad.py", line 4, in <module>
    browser=webdriver.Firefox()
  File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 85, in __init__
    keep_alive=True)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 90, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 177, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 234, in execute
    response = self.command_executor.execute(driver_command, params)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 398, in execute
    data = utils.dump_json(params)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\utils.py", line 34, in dump_json
    return json.dumps(json_struct)
  File "C:\Python27\lib\json\__init__.py", line 244, in dumps
    return _default_encoder.encode(obj)
  File "C:\Python27\lib\json\encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Python27\lib\json\encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 3: invalid start byte

作者: 掉渣饼    时间: 2016-9-14 12:40
decode("selenium"),可以直接写成"selenium"
作者: suxi    时间: 2016-9-14 13:35
掉渣饼 发表于 2016-9-14 12:40
decode("selenium"),可以直接写成"selenium"

之前是这样写的,但是也出问题,完了就百度了一下,才加上decode,但是还是一样报错
作者: SunnyLan    时间: 2016-9-14 13:56
browser.find_element_by_id("kw").send_keys("selenium")
如果是中文就是browser.find_element_by_id("kw").send_keys(u("电池"))
作者: 若尘_51    时间: 2016-9-14 14:03
suxi 发表于 2016-9-14 13:35
之前是这样写的,但是也出问题,完了就百度了一下,才加上decode,但是还是一样报错

browser.find_element_by_id("kw").send_keys(decode("selenium"))  不关这个句的问题
decode()是不需要的。
你看报错信息是出在 browser=webdriver.Firefox()这句。
你的完整的脚本呢?
作者: suxi    时间: 2016-9-14 14:24
若尘_51 发表于 2016-9-14 14:03
browser.find_element_by_id("kw").send_keys(decode("selenium"))  不关这个句的问题
decode()是不需 ...

不好意思,刚刚发现少了一句URL,现在已经加上,已完整。
作者: 若尘_51    时间: 2016-9-14 14:46
suxi 发表于 2016-9-14 14:24
不好意思,刚刚发现少了一句URL,现在已经加上,已完整。

我原本copy你的脚本,除了删除decode之外,没有动过其他,是可以成功的。
另外的火狐是安装在默认路径下的吗?

#coding=utf-8
from selenium import webdriver

browser=webdriver.Firefox()
browser.get("http://www.baidu.com")

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click

browser.quit()
作者: suxi    时间: 2016-9-14 15:29
若尘_51 发表于 2016-9-14 14:46
我原本copy你的脚本,除了删除decode之外,没有动过其他,是可以成功的。
另外的火狐是安装在默认路径下 ...

非常感谢!,就是火狐浏览器的安装没在默认路径下
作者: 2014teseps    时间: 2016-9-22 14:08
suxi 发表于 2016-9-14 15:29
非常感谢!,就是火狐浏览器的安装没在默认路径下

朋友,你是怎么解决的,可以给说1下吗, 详细点的。我的报错跟你一样。
作者: suxi    时间: 2016-9-26 11:00
2014teseps 发表于 2016-9-22 14:08
朋友,你是怎么解决的,可以给说1下吗, 详细点的。我的报错跟你一样。

浏览器默认安装即可




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