【学习】Xpath定位方法
表达式 | 描述 | 举例 |
/ | 绝对路径 | //*[@id="leftH"]/div[2]/div[1]/div/a |
// | 相对路径 | //a |
@ | 选取属性 | //a[@class='btn_blue'] |
[] | 查询条件 | |
.. | 选取当前节点的父节点 | (//*[text()='查询'])[1]/.. |
* | 匹配任一节点 | |
//title[@class] | 选取所有拥有名为class属性的title元素 | //a[@class] |
//*[text()='文本'] | 选择文本内容包含“文本”的所有元素 | //a[text()='查询'] |
//div[contains(text(),'XXX')] //a[contains(@class,'XXX')] |
--选取test属性包含XXX的div元素; --选择class属性包含XXX的a元素 |
//input[contains(@value,'免费')] |
//*[a条件 and B条件] //*[a条件 or B条件]
|
多个属性组合查询 | //input[@id='zsbh' and @name='zsbh' ] |
父元素查询
根据元素文本查询
匹配部分文本内容
按顺序查询
根据class属性查询,查询结果有三个
匹配class='btn_blue'的第一个元素。当;匹配到的元素有多个时,默认匹配第一个。
格式:(查询条件)[X]。例如:(//a[@class='btn_blue'])[1],(//a[@class='btn_blue'])[2]
注意:此处中括号内的数字表示第几个,不是下标,所以第一个就要输入1,第二个就输入2。
最后一个可以用last()表示,(//a[@class='btn_blue'])[last()]
定位前3个用postiong()<3表示,(//a[@class='btn_blue'])[position()<3] 定位到前两个