selenium webdriver中的UTF编码

UTF Encoding in selenium webdriver

我目前有:

from selenium import webdriver
d = webdriver.Chrome()
# request the url and get the page contents
title = result.find("span", {"class": "episode"}).find("a").text

但是返回给我的'text'是:

# Note the truncation on the word "envol"
<td class="title"><a href="/title/tt1844708/">La grande envol</a></td>

但是,当我下载页面源码时,显示如下:

<td class="title"><a href="/title/tt1844708/">La grande envolée</a>
    <span class="year_type">(1927)</span><br />
</td>

为什么 Webdriver 响应中的文本被截断了?我如何确保它给我完整的 utf-8 编码文本?

据我了解,您正在将 page_source 内容传递给 BeautifulSoup 以供进一步解析。

我不会那样做,因为 selenium 本身可以处理 parsing part pretty well. For example, you can use CSS selectors:

driver.find_element_by_css_selector('span.episode a').text

示例(使用 this IMDb page):

>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
>>> driver.get('http://www.imdb.com/title/tt1844708/')
>>> print(driver.find_element_by_xpath('//span[@itemprop="name"]').text)
La grande envolée