2011-10-10 155 views
1

有人可以幫我把這段代碼工作嗎?我有幾個選擇字段,我只想要最後一個在我的變量。xPath最後選擇元素

variable = browser.elements_by_xpath('//div[@class="nested-field"]//select[last()] 

謝謝!

+0

提供樣品輸入。 –

回答

0

是完全匹配的類屬性嗎? 如果標記是這樣

<div class="nested-field other"> 
... 

那麼你就會被確切類必須匹配或使用XPath包含的內容。

3

這是一個常見問題解答:XPath中的[]運算符比//僞運算符具有更高的優先級(優先級)。這就是爲什麼必須使用括號來更改默認的運營商優先級。至少有幾個類似的問題有很好的解釋 - 搜索它們並閱讀和理解。

而不是

//div[@class="nested-field"]//select[last()] 

使用

(//div[@class="nested-field"]//select)[last()] 
+0

我不明白爲什麼// div [@ class =「nested-field」] // select會匹配任何內容。 – pguardiario

+0

@pguardiario:不是「匹配」而是「選擇」。 ''div [@ class =「nested-field」] // select'選擇任何'select'元素,它是任何'div'元素的後代,其'class'屬性的值爲''「嵌套字段」 '。 –

+0

我想我的問題是爲什麼/ /選擇而不是/選擇? – pguardiario