2015-12-16 152 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); 
相关问题