2013-05-29 35 views
12

Đây là ngày thứ 2 của tôi với thư viện Selenium 2 và nỗi đau với Unicode dường như không hề giảm bớt.Trình duyệt web Selenium và unicode

Tôi chỉ làm những hoạt động cơ bản nhất, muốn in mã nguồn trang web:

from selenium import webdriver 


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

print driver.page_source 

Chắc chắn, tôi nhận được một lỗi:

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

Làm thế nào tôi có thể xin mã hóa này để utf-8?

Trả lời

18

Bạn có các tùy chọn, dựa trên điều này tương tự question.

Bạn có thể chuyển đổi nguồn thành tất cả ascii mất các ký tự Unicode trong quy trình.

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

Hoặc, và tôi nghĩ rằng bạn sẽ thích này, bạn có thể mã hóa nó sang utf-8 như thế này: (driver.page_source).encode('utf-8').

Các vấn đề liên quan