首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理硒中的奇怪碳?'utf8‘编解码器无法在0位置解码字节0xc3:

如何处理硒中的奇怪碳?'utf8‘编解码器无法在0位置解码字节0xc3:
EN

Stack Overflow用户
提问于 2015-10-02 15:22:46
回答 2查看 1.9K关注 0票数 3

我试图在selenium中发送带有西班牙语口音的键,我所做的是通过一个带有不同入口的数组发送字符串,这是它得到stucks的行。

代码语言:javascript
复制
["Electrodomésticos", "Otros electrodomésticos", ["sensorhumo.jpg"], "Sensor de humo inalámbrico independiente.", "-Frecuencia: 433Mhz. -Codigo de trabajo: 2262. -Alacance inalámbrico: 80 mts con línea de vista. ", "59000", "x", "x", "x", "x", "x", "x"],

当我发送这部分时:

-Frecuencia:433 mts。-Codigo de trabajo: 2262。-Alacance inalámbrico: 80 mts conínea de vista。

到此代码:

代码语言:javascript
复制
    descripcion=".//*[@id='field-description']"
    descripciontext=str(array3[i][x])
    x=x+1
    descripcionelement = wait.until(lambda driver: driver.find_element_by_xpath(descripcion))
    descripcionelement.send_keys(descripciontext) 

它抛出了这样的信息:

UnicodeDecodeError:'utf8‘编解码器无法解码0位置的字节0xc3 :数据的意外结束

只有当我删除这个部分的重音,并尝试使用解码时,它才能起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-03 00:33:03

要处理selenium-sendkey中的unicode,需要unicode转换,要将字节转换为unicode,请使用以下方法之一-

descripciontext = "-Frecuencia: 433 mts . -Codigo de trabajo: 2262. -Alacance inalámbrico: 80 mts conínea de vista.“

代码语言:javascript
复制
Unicode (by manual):     descripciontext = u"-Frecuencia: 433Mhz. -Codigo de trabajo: 2262. -Alacance inalámbrico: 80 mts con línea de vista."

代码语言:javascript
复制
Unicode (by automatic decoding):     descripciontext = unicode(descripciontext.decode("iso-8859-4"))

现在使用send_keys

代码语言:javascript
复制
descripcionelement.send_keys(descripciontext)
票数 1
EN

Stack Overflow用户

发布于 2017-02-23 17:12:29

当我试图在表单中的选择选项中发送类似“Espa”的内容时,我自己也被这个错误绊倒了。

接受的答案是正确的,最好的方法是用unicode发送值。

我将在这里留下一个简短的简单代码,它以透明的方式转换发送的值( str或unicode )。

代码语言:javascript
复制
def _convert(param):
    if isinstance(param, str):
        return param.decode('utf-8')
    else:
        return param

# both examples will work
parameter = 'España'
driver_element.send_keys(_convert(parameter)) 

unicode_parameter = u'España'
driver_element.send_keys(_convert(parameter))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32910555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档