一、Xpath路徑
/ 絕對路徑
// 相對路徑
#查找html下的body下的form下的所有input節點 /html/body/form/input
#查找所有input節點 //input
#查找form節點下的所有節點
//form/*
#查找所有節點
//* #查找所有input節點(input至少有爺爺輩親戚節點) //*/input
二、使用索引
如果篩選時元素時出現多個節點,但我們想確定唯一節點。可以使用類似於列表索引的方式精確定位。
#定位 第8個td下的 第2個a節點 //*/td[7]/a[1] #定位 第8個td下的 第3個span節點 //*/td[7]/span[2] #定位 最后一個td下的 最后一個a節點 //*/td[last()]/a[last()]
三、使用屬性
為了讓定位更精准,跟使用索引類似,我們要增加信息量,那么還可以使用屬性。@符號是屬性符
#定位所有包含name屬性的input節點 //input[@name] #定位含有屬性的所有的input節點 //input[@*] #定位所有value=2的input節點 //input[@value='2'] #使用多個屬性定位 //input[@value='2'][@id='3'] 或者//input[@value='2' and @id='3']
四、常用函數
除了索引、屬性外,Xpath還可以使用便捷的函數來增強定位的准確性。下面試常用的幾個函數:
<a class="menu_hot" href="/ads/auth/promote.html">應用推廣</a>
#定位href屬性中包含“promote.html”的所有a節點 //a[contains(@href,'promote.html')] #元素內的文本為“應用推廣”的所有a節點 //a[text()='應用推廣'] #href屬性值是以“/ads”開頭的所有a節點 //a[starts-with(@href,'/ads')]