使用xpath()寻找祖父母节点与Python和lxml使用xpath()

问题描述:

有没有一种方法来获得一个类型为Element()的项目的.xpath父节点?使用xpath()寻找祖父母节点与Python和lxml使用xpath()

我有HTML这样的:

<table> ... 
    <tr><td>...</td></tr> 
    <tr><td><h3 class="product_name">Product</h3></td></tr> 
</table> 

我希望得到一个表元素,其中表是对表“表”的H3第一父元素。

从lxml.html进口fromstring

html = fromstring 
for h3 in html.xpath('//h3[@class="product_name"]'): 
    parent_table = h3.xpath('???') 

我应该使用什么的XPath?

+0

你试过''../../''吗? – DainDwarf

+0

@DainDwarf这是无效的xpath。另外,'../ ..'将得到包含_h3_的_tr_元素。此外,任何不使用祖先轴的xpath都将与文档的确切结构相关联。 – Matthew

./ancestor::table[1]

这将得到table元件相对于上下文节点最接近的(大)的父/祖先即是。