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
我目前有:
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