suxi 发表于 2016-9-14 11:57:05

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:15

decode("selenium"),可以直接写成"selenium"

suxi 发表于 2016-9-14 13:35:25

掉渣饼 发表于 2016-9-14 12:40
decode("selenium"),可以直接写成"selenium"

之前是这样写的,但是也出问题,完了就百度了一下,才加上decode,但是还是一样报错

SunnyLan 发表于 2016-9-14 13:56:33

browser.find_element_by_id("kw").send_keys("selenium")
如果是中文就是browser.find_element_by_id("kw").send_keys(u("电池"))

若尘_51 发表于 2016-9-14 14:03:01

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:16

若尘_51 发表于 2016-9-14 14:03
browser.find_element_by_id("kw").send_keys(decode("selenium"))不关这个句的问题
decode()是不需 ...

不好意思,刚刚发现少了一句URL,现在已经加上,已完整。

若尘_51 发表于 2016-9-14 14:46:36

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:27

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

非常感谢!{:3_73:},就是火狐浏览器的安装没在默认路径下

2014teseps 发表于 2016-9-22 14:08:01

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

朋友,你是怎么解决的,可以给说1下吗, 详细点的。我的报错跟你一样。

suxi 发表于 2016-9-26 11:00:53

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

浏览器默认安装即可
页: [1]
查看完整版本: selenium+python启动浏览器报utf-8编码错误,急寻帮助!!!