51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2018|回复: 10
打印 上一主题 下一主题

[求助] selenium+python启动浏览器报utf-8编码错误,急寻帮助!!!

[复制链接]
  • TA的每日心情

    2016-5-24 16:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2016-9-14 11:57:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 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
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2016-9-14 12:40:15 | 只看该作者
    decode("selenium"),可以直接写成"selenium"

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-5-24 16:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2016-9-14 13:35:25 | 只看该作者
    掉渣饼 发表于 2016-9-14 12:40
    decode("selenium"),可以直接写成"selenium"

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-4 11:04
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]测试军长

    4#
    发表于 2016-9-14 13:56:33 | 只看该作者
    browser.find_element_by_id("kw").send_keys("selenium")
    如果是中文就是browser.find_element_by_id("kw").send_keys(u("电池"))
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    5#
    发表于 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()这句。
    你的完整的脚本呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-5-24 16:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
     楼主| 发表于 2016-9-14 14:24:16 | 只看该作者
    若尘_51 发表于 2016-9-14 14:03
    browser.find_element_by_id("kw").send_keys(decode("selenium"))  不关这个句的问题
    decode()是不需 ...

    不好意思,刚刚发现少了一句URL,现在已经加上,已完整。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    7#
    发表于 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()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-5-24 16:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2016-9-14 15:29:27 | 只看该作者
    若尘_51 发表于 2016-9-14 14:46
    我原本copy你的脚本,除了删除decode之外,没有动过其他,是可以成功的。
    另外的火狐是安装在默认路径下 ...

    非常感谢!,就是火狐浏览器的安装没在默认路径下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-9-22 14:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2016-9-22 14:08:01 | 只看该作者
    suxi 发表于 2016-9-14 15:29
    非常感谢!,就是火狐浏览器的安装没在默认路径下

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

    使用道具 举报

  • TA的每日心情

    2016-5-24 16:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2016-9-26 11:00:53 | 只看该作者
    2014teseps 发表于 2016-9-22 14:08
    朋友,你是怎么解决的,可以给说1下吗, 详细点的。我的报错跟你一样。

    浏览器默认安装即可
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-23 19:26 , Processed in 0.075610 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表