2015-12-16 202 views
0

所以我有這個CSS選擇器查詢,返回幾個結果:獲取最後一個元素

div[class=b-folders] span[class=b-folders__folder] 

enter image description here

而且我想只有最後一次,我嘗試;

div[class=b-folders] span[class=b-folders__folder]:last-of-type 

但沒有發現任何東西。

+0

你是什麼意思經典CSS選擇器? –

+0

請參閱我的編輯 –

回答

4

:last-of-type:last-child和其他相關的僞類/選擇檢查元素的位置內它的父:

:last-of-type CSS僞類代表與給定元素名稱的子列表的最後一個兄弟它的父元素。

相反,解決它使用硒語言綁定 - 讓選擇匹配的所有元素,並獲得最後找到的元素。例如,在Python:

driver.find_elements_by_css_selector("div[class=b-folders] span[class=b-folders__folder]")[-1] 
+0

任何方式使用css_selector查詢到達最後一個元素,而不是最後使用代碼中的結果? –

+0

@davidhol nope,恐怕在這種情況下這是不可能的。如果這很重要,請查看XPath。 – alecxe

1

你可以有元素的數組列表,然後選擇由最後一個元素:

List<WebElement> elements= driver.findElements(By.css("css")); 

element = elements.get(list.size() - 1); 
相關問題