我正在使用 selenium 从数据库查询值以在输入字段中输入。但是,对于某些值,我收到以下错误:
UnicodeDecodeError:“ascii”编解码器无法解码字节 0xe9 位置
49:序数不在范围内(128)
当在文本字段中输入的值类似于'Décor'。我明白是性格问题"é"。我怎样才能克服这个错误?
机器人代码:
*** Settings ***
Library SeleniumLibrary
Library DatabaseLibrary
*** Test cases ***
Test
${value} Get value from database
Input text ${locator} ${value}
*** Keywords ***
Get value from database
${queryResults} Query ${query}
[Return] ${queryResults}
Note:当在字段中输入文本时(步骤 2),该错误尤其会发生。将相同的值记录到控制台工作正常。
这是 py2 我怀疑这将是您使用的变量的实际类型(value
);它可能是一个具有编码形式的高位 ASCII 字符的字节串。
就在使用它之前Input Text
,将其转换为unicode:
${value}= Decode Bytes To String ${value}
如果失败 - 或者没有产生所需的结果,请尝试Convert To String
:
${value}= Convert To String ${value}
我怀疑后者会保留其编码形式的“有问题的”字符,例如“D\xe9cor”。请在评论中告诉我,我很好奇:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)