2013-05-29 16 views
12

È il mio secondo giorno con la libreria Selenium 2 e il dolore con Unicode non sembra mai diminuire.Selenio e unicode

Sto solo facendo l'operazione più semplice, vogliono stampare il sorgente della pagina:

from selenium import webdriver 


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

print driver.page_source 

Abbastanza sicuro, ottengo un errore:

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

Come posso prega di codificare questo per utf-8?

risposta

18

Si dispone di opzioni, sulla base di questo simile question.

È possibile convertire il codice sorgente in tutti gli ASCII perdendo i caratteri Unicode nel processo.

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

Oppure, e penso che sarete preferisce questo, si può codificare in UTF-8 in questo modo: (driver.page_source).encode('utf-8').