1. 进入一个网页-->右键点击检查-->ctrl+f 激活下图下面的xpath输入框,可输入进行查找,黄色为查找结果。
2.进入console,输入$x("xpath表达式") 也可进行调试
表达式 | 结果 |
---|---|
/ | 从该节点的子元素选取 |
// | 从该节点的子孙元素选取 |
* | 通配符 |
nodename | 选取此节点的所有子节点,代表标签名 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性 @id="od1" |
# 整个页面 $x("/") # 页面中的所有的子元素 $x("/*") # 整个页面中的所有元素 $x("//*") # 查找页面上面所有的div标签节点 $x("//div") # 查找id属性为site-logo的节点 $x('//*[@id="site-logo"]') # 查找节点的父节点 $x('//*[@id="site-logo"]/..') # 查找节点的爷爷节点 $x('//*[@id="site-logo"]/../..') # 查找当前节点,也可以不使用 $x('//*[@id="site-logo"]/.')
# 获取此节点下的所有的li元素 $x("//*[@id='ember21']//li") # 获取此节点下【所有的节点的】第一个li元素 $x("//*[@id='ember21']//li[1]")
todo : 修改示例
表达式 | 举例 | 结果 |
---|---|---|
//标签名[last()] | //input[last()] |
选取最后一个input标签 |
//标签名[postion()<3] | input[postion()<3] |
选取前2个input元素 |
//标签名[@属性名='属性值' and @属性名='属性值'] | //input[@name='passward' and @pwd='123456'] |
选取属性name的值为passward并且属性pwd的值为123456的input标签 |
//标签名[text()=‘文本信息’] | //*[text()='霍格沃兹测试开发'] |
选取所有文本信息为’霍格沃兹测试开发’的元素 |
//标签名[contains(text(),‘文本信息’)] | //*[contains(text(),'霍格沃兹')] |
选取所有文本信息包’霍格沃兹’的元素 或者contains(@id,‘id name’) |
注意:所有表达式需要和 [ ] 结合