我想使用XPath表达式在lxml中解析HTML。我的问题是匹配标签内容:
例如,给定
<a href="http://something">Example</a>
我可以使用什么元素来匹配 href 属性?
.//a[@href='http://something']
但是鉴于表达式
.//a[.='Example']
甚至更多
.//a[contains(.,'Example')]
抛出“invalid node predicate”异常。
我做错了什么?
编辑:
示例代码:from lxml import etree
from cStringIO import StringIO
html = '<a href="http://something">Example</a>'
parser = etree.HTMLParser()
tree = etree.parse(StringIO(html), parser)
print tree.find(".//a[text()='Example']").tag
期望输出是 'a'。但我收到了 'SyntaxError: invalid node predicate' 的错误提示。