python lxml:如何从具有子元素的元素中获取文本

时间:2016-10-03 13:15:55

标签: python lxml

我想从html代码中提取一些文本,但是以下内容并没有 等一些文字,而不是它返回" \ n"。那么如何获得测试呢?

a=html.fromstring("""
<p class="clearfix">
<i class="xueli"></i>
sometext
</p>
""")
a.find(".//i").getparent().text

1 个答案:

答案 0 :(得分:1)

而不是.text,请使用text_content()方法:

In [5]: a.find(".//i").getparent().text_content().strip()
Out[5]: 'sometext'

或者,您可以访问i元素的以下文本兄弟

In [6]: a.xpath(".//i/following-sibling::text()")[0].strip()
Out[6]: 'sometext'