XPath 式を使用して、lxml で HTML を解析したいと考えています。私の問題は、タグのコンテンツのマッチングです:
たとえば、
<a href="http://something">Example</a>
要素を使用して href 属性を一致させることができます
.//a[@href='http://something']
しかし、与えられた式
.//a[.='Example']
あるいは
.//a[contains(.,'Example')]
lxml が「無効なノード述語」例外をスローします。
私は何を間違っていますか?
編集:
コード例:
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: 無効なノード述語」が表示される