使用cssselector从多个结果中获取最后一个元素

时间:2015-12-16 14:38:33

标签: selenium css-selectors

所以我有这个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

但没有找到任何东西。

2 个答案:

答案 0 :(得分:4)

:last-of-type function setCookie(cookieName, cookieValue, expireDays,isGlobal) { var expireDate = new Date(); expireDate.setTime(d.getTime() + (expireDays*24*60*60*1000)); var expires = "expires="+expireDate.toUTCString(); if(isGlobal){ document.cookie = cookieName + "=" + cookieValue + "; " + expires+"; path=/"; }else{ document.cookie = cookieName + "=" + cookieValue + "; " + expires; } } function getCookie(cookieName) { var name = cookieName + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ""; } function checkCookie(cookieName) { if (getCookie(cookieName) != "") { return true; } else { return false; } } $(document).ready(function(){ if(checkCookie('visited')){ //SHOW PLAY/STOP BUTTONS }else{ setCookie('visited',1,3,false); //PLAY VIDEO AUTOMATICALLY eg. document.getElementById('player').get(0).play(); } }); 和其他相关的伪类/选择器检查元素在其父级内的位置:

  

:last-child CSS伪类表示在其父元素的子元素列表中具有给定元素名称的最后一个兄弟。

相反,使用您的selenium语言绑定解决它 - 获取与选择器匹配的所有元素并获取最后找到的元素。例如,在Python中:

:last-of-type

答案 1 :(得分:1)

您可以拥有元素的数组列表,然后通过以下方式选择最后一个元素:

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

element = elements.get(list.size() - 1);