表示式描述*
通用元素選擇器,匹配任何元素
e標籤選擇器,匹配所有使用e標籤的元素
.info
class選擇器,匹配所有class屬性中包含info的元素
#footer
id選擇器,匹配所有id屬性等於footer的元素
e,f多元素選擇器,同時匹配所有e元素或f元素,e和f之間用逗號分隔
e f後代元素選擇器,匹配所有屬於e元素後代的f元素,e和f之間用空格分隔
e > f
子元素選擇器,匹配所有e元素的子元素f
e + f
毗鄰元素選擇器,匹配緊隨e元素之後的同級元素f (只匹配第乙個)
e ~ f
同級元素選擇器,匹配所有在e元素之後的同級f元素
e[att=『val』]
屬性att的值為val的e元素 (區分大小寫)
e[att^=『val』]
屬性att的值以val開頭的e元素 (區分大小寫)
e[att$=『val』]
屬性att的值以val結尾的e元素 (區分大小寫)
e[att*=『val』]
屬性att的值包含val的e元素 (區分大小寫)
e[att1=『v1』][att2*=『v2』]
屬性att1的值為v1,att2的值包含v2 (區分大小寫)
e:contains(『***x』)
內容中包含***x的e元素
e:not(s)
匹配不符合當前選擇器的任何元素
定位xpath
css比較
所有元素
//**
選取所有元素
所有div
//div
div選取所有div節點
id//div[@id=『it』]
div#it
選取id值為』it』的元素
class
//div[@class=『cs』]
div.cs
選取class值為』cs』的元素
單屬性//div[@title=『ti』]
div[title=ti]
選取title屬性值為』ti』的元素
多屬性//div[@title=『ti』][@name=『na』]
div[title=ti][name=na]
選取title屬性值為』ti』,且name屬性值為』na』的元素
子元素//div[@id=『it』]/*
div#it>*
選取id值為』it』的div元素的所有子元素
後代元素
//div[@id=『it』]//h1
div#it h1
選取id值為』it』的div元素的所有後代h1元素
索引//li[3]
li:nth(3)
選取第三個li元素
函式//a[contains(@href,『hello』)];a//[starts-with(@href,『py』)]
a[href~=hello];a[href^=py]
href值包含』hello』的a元素;href值以』py』開頭的a元素
同級節點
//div[@id=『it』]/following-sibling::div
div#it+div
選取id值為"it"的div元素後面的所有同級div元素
屬性定位
id
driver.findelement(by.cssselector("input#kw"))
driver.findelement(by.cssselector("input[id=kw]"))
class
driver.findelement(by.cssselector("input.pwd"))
driver.findelement(by.cssselector("input[class=pwd]"))
//3.其它屬性
driver.findelement(by.cssselector("input[name='na']"))
//4.屬性組合定位
driver.findelement(by.cssselector("[name=『wd』][autocomplete=『off』]"))
模糊匹配
//1.屬性值由多個空格隔開,匹配其中乙個值
driver.findelement(by.cssselector(「input[class~=『btn』]」))
//2.匹配屬性值為字串開頭的方法
driver.findelement(by.cssselector(「input[class^=『btn』]」))
//3.匹配屬性值字串結尾的方法
driver.findelement(by.cssselector(「input[class$=『btn』]」))
//4.匹配屬性值中包含某一字串
driver.findelement(by.cssselector(「input[class*=『btn』]」))
層級定位
>f e下面的f這個元素
driver.findelement(by.cssselector(「book#kw>input[class=『btn』]」))
第n個e標籤
driver.findelement(by.cssselector(「book>input:nth-child(2)))
倒數第n個標籤
driver.findelement(by.cssselector(「book>input:nth-last-child(2)))
//4:e:first-child 第乙個標籤
driver.findelement(by.cssselector(「book>input:first-child))
//5:e:last-child 最後乙個標籤
driver.findelement(by.cssselector(「book>input:last-child))
Selenium之元素定位
1.檢視頁面元素 id class type name等。2.通過webdriver的方法定位 絕對路徑 find element by xpath html body div 1 div 1 div div 1 div form span 1 input 相對路徑 find element by ...
selenium元素定位之CSS
css是一種語言,用來描述html和xml文件的屬性,css使用選擇器來為頁面屬性繫結屬性。這些選擇器可以被selenium用來當做定位元素的策略。css選擇器常見的語法 選擇器舉例 描述.class dou class選擇器,選擇class dou 的所有元素 id gao id選擇器,選擇id ...
selenium之元素定位方法
4 class 5 link text 超連結文字 6 xpath 7 css定位 8 定位相同元素第二個 type text class s ipt name wd id kw maxlength 100 autocomplete off driver.find element by id kw ...