HTML定位
/ 相对路径
// 绝对路径
定位节点:
/html/body/form/input 查找所有input节点元素
//input 查找所有input节点元素
使用通配符选择未知的元素:
//form/ 查找form节点下的所有元素
//* 查找所有元素
//*/input 查找所有input元素
选择分支,利用下标:
///td[7]/a[1] 定位到第一个节点元素
///td[7]/span[2] 定位到第二个节点元素
///td[last()]/a[last()] 定位到最后一个节点元素
///td[a] 定位到包含a子元素的所有td节点元素
选择属性:
定位所有含有name属性的input元素://input[@name]
定位出含有属性的所有input元素://input[@*]
定位出value属性值为2的input元素://input[@value='2']
使用多个属性定位://input[@type='radio'][@value='1'] 或 //input[@type='radio' and @value='1']
常用函数:
1.字符串查找函数:contains()
语法:contains(str1,str2),表示如果str1包含str2,则返回true,否则返回false
2.获取元素的文本信息:text()
3.从起始位置匹配字符串:starts-with()
示例:应用推广
//a[contains(@href,'promote.htm')] 定位href属性包含"promote.htm"的所有链接a元素
//a[text()='应用推广'] 链接文本等于“应用推广”的所有链接a元素
//a[starts-wiyh(@href,'/ads')] 链接href属性是以ads开头的所有a元素
函数组合使用:
//a[contains(text(),'推广')] 获取链接文本包含“推广”的所有链接a元素
xpath轴:
ancestor:选取当前节点的所有先辈
ancestor-or-self:选取当前节点的所有先辈以及当前节点本身
attribute:选取当前节点的所有属性
child:选取当前节点的所有子元素
descendant:选取当前节点的所有子元素
descendant-or-self:选取当前节点的所有后代元素以及当前节点本身
following:选取文档中当前节点的结束标签之后的所有节点
namespace:选取当前节点的所有命名空间节点
parent:选取当前节点的父节点
preceding:直到所有这个节点的父辈节点,顺序选择每个父辈节点前的所有同级节点
preceding-sibling:选取当前节点之前的所有同级节点
self:选取当前节点