How to get path of an element in lxml?
I'm searching in a HTML document using XPath from lxml in python. How can I get the path to a certain element? Here's the example from ruby nokogiri: page.xpath('//text()').each do |textnode| path = textnode.path puts path end print for example ' /html/body/div/div[1]/div[1]/p/text()[1] ' and this is the string I want to get in python. Use getpath from ElementTree objects. from lxml import etree root = etree.fromstring('<foo><bar>Data</bar><bar><baz>data</baz>' '<baz>data</baz></bar></foo>') tree = etree.ElementTree(root) for e in root.iter(): print tree.getpath(e) Prints /foo /foo/bar[1] /foo