硒unicode编码错误

时间:2016-02-16 16:29:46

标签: python selenium

检索Google搜索结果页面的内容时出现此错误?

print driver.find_element_by_tag_name('body').get_attribute('innerHTML')
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe6' in position 15663: ordinal not in range(128)

我正在用PHP调用python脚本

exec('python selenium_scrape.py');

这解决了问题,但是所有unicode字符都将被编码两次

print driver.find_element_by_tag_name('body').get_attribute('innerHTML').encode('utf-8')

2 个答案:

答案 0 :(得分:0)

这可能是因为您正在打印到使用ASCII(7位)编码的标准输出。使用使用utf-8的语言环境设置调用Python,或者首先将(unicode)HTML内容的某些适当编码转换为7位字符串。

答案 1 :(得分:0)

尝试在打印前对文本进行编码:

print driver.find_element_by_tag_name('body').get_attribute('innerHTML').encode("utf-‌​8")