Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
335 views
in Technique[技术] by (71.8m points)

python - Selenium webdriver and unicode

It's my 2nd day with Selenium 2 library and the pain with Unicode never seem to subside.

I'm just doing the most basic operation, want to print the page source:

from selenium import webdriver


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

print driver.page_source

Sure enough, I get an error:

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

How can I please encode this to utf-8 ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You have options, based on this similar question.

You can either convert the source to all ascii losing the Unicode characters in the process.

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

Or, and I think you'll prefer this, you can encode it to utf-8 like this: (driver.page_source).encode('utf-8').


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...