2016-03-02 70 views
2

有沒有一種方法來獲得一個類型爲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

回答

2

./ancestor::table[1]

這將得到table元件相對於上下文節點最接近的(大)的父/祖先即是。