17

这是我使用 Selenium 2 库的第二天,使用 Unicode 的痛苦似乎从未消退。

我只是做最基本的操作,想打印页面源:

from selenium import webdriver


driver = webdriver.Firefox()
driver.get("http://google.com")

print driver.page_source

果然,我得到一个错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u0119' in position 62045:  
ordinal not in range(128)

我该如何将其编码为utf-8

4

2 回答 2

28

根据这个类似的问题,您有选择。

您可以将源转换为在此过程中丢失 Unicode 字符的所有 ascii。

(driver.page_source).encode('ascii', 'ignore')

或者,我认为您会更喜欢这个,您可以将其编码为 utf-8,如下所示 (driver.page_source).encode('utf-8')

于 2013-05-29T20:31:11.700 回答
1

取而代之的是print(string),用于print(repr(string)) 返回对象的可打印表示

于 2018-10-31T11:07:02.800 回答