CSS 可以比較靈活選擇控件的任意屬性,一般情況下定位速度要比 XPath 快,但對於初學者來說比較難以學習使用,下面我們就詳細的介紹 CSS的語法與使用。
<html> <body> <div class="formdiv"> <form name="fnfn"> <input name="username" type="text"></input> <input name="password" type="text"></input> <input name="continue" type="button"></input> <input name="cancel" type="button"></input> <input value="SYS123456" name="vid" type="text"> <input value="ks10cf6d6" name="cid" type="text"> </form> <div class="subdiv"> <ul id="recordlist"> <p>Heading</p> <li>Cat</li> <li>Dog</li> <li>Car</li> <li>Goat</li> </ul> </div> </div> </body> </html>
定位實例:
css中的結構性定位
結構性定位就是根據元素的父子、同級中位置來定位,css3標準中有定義一些結構性定位僞類如nth-of-type,nth-child,但是使用起來語法很不好理解,這裏就簡單介紹下。Selenium中則是採用了來自 Sizzle的 css3定位擴展,它的語法更加靈活易懂。
nth-of-type
例:
#test > li:nth-of-type(2) //表示ID爲test下的第二個li元素,相當於xpath= //e[id=test]/li[2]
nth-child
例:
#test > li:nth-child(4) //表示ID爲test下的第4個子元素,並且限制爲li元素,如果不是則報錯
解:# 表ID
>表子元素(父子關係)
nth n表第幾個
type 同類型
例子2:
<div class="subdiv"> <ul id="recordlist"> <p>Heading</p> <li>Cat</li> <li>Dog</li> <li>Car</li> <li>Goat</li> </ul> </div>
|