其他分享
首页 > 其他分享> > Web自动化 -- Xpath

Web自动化 -- Xpath

作者:互联网

xpath基本概念

xpath 定位场景

xpath 定位的优点

 

xpath调试方法:

1. 进入一个网页-->右键点击检查-->ctrl+f 激活下图下面的xpath输入框,可输入进行查找,黄色为查找结果。

 

2.进入console,输入$x("xpath表达式") 也可进行调试

 

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"]/.')

xpath 顺序关系(索引)

# 获取此节点下的所有的li元素
$x("//*[@id='ember21']//li")
# 获取此节点下【所有的节点的】第一个li元素
$x("//*[@id='ember21']//li[1]")

xpath 高级用法总结

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’)

注意:所有表达式需要和 [ ] 结合

标签:xpath,Web,--,标签,节点,查找,Xpath,选取,id
来源: https://www.cnblogs.com/manshuoli/p/16367776.html