Selenium webdriver y unicode

Es mi segundo día con la biblioteca de Selenium 2 y el dolor con Unicode nunca parece disminuir.

Solo estoy haciendo la operación más básica, quiero imprimir la fuente de la página:

from selenium import webdriver driver = webdriver.Firefox() driver.get("http://google.com") print driver.page_source 

Efectivamente, me sale un error:

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

¿Cómo puedo por favor codificar esto a utf-8 ?

Tienes opciones, basadas en esta pregunta similar.

Puede convertir la fuente a todos los ascii que pierden los caracteres Unicode en el proceso.

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

O, y creo que preferirás esto, puedes codificarlo en utf-8 de esta manera: (driver.page_source).encode('utf-8') .

En lugar de print(string) , use print(repr(string)) para devolver una representación imprimible del objeto .