Подтвердить что ты не робот

Selenium webdriver и unicode

Это мой второй день с библиотекой 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?

4b9b3361

Ответ 1

У вас есть варианты, основанные на этом похожем question.

Вы можете либо преобразовать источник во все ascii, потеряв символы Unicode в этом процессе.

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

Или, и я думаю, вы предпочтете это, вы можете закодировать его в utf-8 следующим образом: (driver.page_source).encode('utf-8').