我目前有以下内容:
from selenium import webdriver
d = webdriver.Chrome()
# request the url and get the page contents
title = result.find("span", {"class": "episode"}).find("a").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。例如,您可以使用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