我希望从111111111
获取xpath
text
,我会在下面这样做,但我无法理解。
import lxml
text = """<p class="tel">
<span class="dsTitle">tel:</span>
111111111
</p>
"""
doc = lxml.etree.fromstring(text, parser=lxml.etree.HTMLParser())
tel = doc.xpath('//p/text')
print(tel)
输出为[]
。我想我可以111111111
。
但为什么?这有什么问题?
答案 0 :(得分:0)
使用xpath node test text()
:
它选择context-node p
的text-node类型的所有子节点。
附加过滤器/text()[normalize-space()]
以删除前导和尾随空白节点,如新行和空格。
<强>完整强>
tel = doc.xpath('//p/text()[normalize-space()]')
答案 1 :(得分:0)
你可以使用xpath如下:
//span[contains(text(),'tel:')]/following-sibling::text()[1]
答案 2 :(得分:0)
doc.xpath('//p/text()')
会奏效。