17

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 ?

2 Answers 2

30

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').

Sign up to request clarification or add additional context in comments.

Comments

1

Instead of print(string), use print(repr(string)) to return a printable representation of the object.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.