怎么用CSS选择ul里最后一个li里面的a元素

html-css010

怎么用CSS选择ul里最后一个li里面的a元素,第1张

<ul style="max-height: 230pxoverflow-y: auto" class="dropdown-menu inner selectpicker" role="menu">

<li class="" rel="0"><a tabindex="0" class="" style=""><span class="text">Please Choose</span></a></li>

<li class="" rel="1"><a tabindex="0" class="" style=""><span class="text">QQQQ</span></a></li>

<li class="" rel="2"><a tabindex="0" class="" style=""><span class="text">PPPP</span></a></li>

<li class="" rel="3"><a tabindex="0" class="" style=""><span class="text">abc</span></a></li>

<li class="" rel="4"><a tabindex="0" class="" style=""><span class="text">aaaaaaaa</span></a></li>

</ul>

选择最后一个元素

driver.findElement(By.xpath("(//ul[@class='dropdown-menu inner selectpicker']/li)[last()]/a/span[@class='text']")).click()

扩展资料:

注意事项

如果页面中有两个<ul><li>...</li></ul>,需要先定位到特定的ul,不然li[last()]会始终选择当前页面的最后一个li。

css之指定带有特点样式的ul下所有li里面的a标签的样式

<style type="text/css">

ul.aside-hd li a{

color:#B97800

}

.aside-hd li a:HOVER {

color:red

}

</style>

css之指定带有特点样式的ul下所有li里面的a标签的样式。

1、首先CSS3新增的:not()伪类选择符,匹配不含有选择符的元素。

2、其次鼠标经过当前li,当前li添加上边框颜色变为红色,第一个li的上边框始终为红色。

3、最后使用lastchild的border为none去掉最后一个元素的右边框即可。

CSS中没有针对最后一个子元素的选择器,但有第一个(:first-child),

如果你能确定span后只有这一个a标签的话可以使用相邻兄弟选择器(span + a {...} ),兼容性有待测试,没这么用过。

具体可参考w3school中CSS 选择器的介绍:

http://www.w3school.com.cn/css/css_selector_adjacent_sibling.asp