自动化测试之4——Xpath使用方法
2021-07-19 21:08
756 查看
由于最新版火狐不在支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/ 下载49版本以下的火狐就可以增加Firebug等扩展了。
什么是Xpath?
XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素。
工具
Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug。
Xpath使用方法
注:默认死格式 先写 //* 代表定位页面下所有元素
1、Xpath支持ID、Class、Name定位功能
1)、通过ID定位 //*[@id='kw'] 2)、通过Class定位 //*[@class='class_name'] 3)、通过Name定位 //*[@name='name']2、如果标签没有ID、Class、Name三总属性,Xpath还支持属性定位功能
@ 代表以属性定位,后面可以接标签中任意属性 //*[@other='attribute']3、当标签的属性重复时,Xpath提供了通过标签来进行过滤
将 * 换位任意标签名,则可根据标签进行筛选 //input[@placeholder='用户名']4、当标签页重复时,Xpath提供了层级过滤
例如:找不到儿子,那么就先找他的爸爸,实在不行可以再找他的爷爷
1)、支持通过 / 进行层级递进,找到符合层级关系的标签 //form/div/input[@placeholder="用户名"] 2)、当层级都重复时,可以通过单个层级的属性进行定位 //form/div[@class='login-user']/input5、一个元素它的兄弟元素跟它的标签一样,这时候无法通过层级定位到。因为都是一个父亲生的,多胞胎兄弟。Xpath提供了索引过滤
通过索引,在List中定位属性,与python的索引有些差别,Xpath从1开始 //select[@name='city'][1]/option[1]6、上面几种如果都用上了之后还重复的话,我们就可以使用Xpath提供的终极神器,逻辑运算定位。and 或 or
1)、通过and来缩小过滤的范围,只有条件都符合时才能定位到 //select[@name='city' and @size='4' and @multiple="multiple"] 2)、or就相反了,只要这些筛选中,其中一个出现那么久匹配到了 //select[@name='city' or @size='4']我通常把Xpath看成是屠龙刀。武林至尊,宝刀Xpath,Css不出,谁与争锋?
相关文章推荐
- 关于javascript无法使用XPath的函数功能的解决方法
- asp.net下的“Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。”错误的一个可能的成因
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法 - 专治各种定位不准并发症
- Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用.
- .net中使用XPath语言在xml中判断是否存在节点值的方法
- xpath的使用方法
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- Scrapy下xpath基本的使用方法
- XML和XPath使用方法备忘(转载)
- dom4j使用XPath解析XML返回null的解决方法
- xpath使用contains文本定位不到元素的原因及解决方法
- XML XPath 使用方法汇总
- xpath 使用方法 演示
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- Android自动化测试之Monkeyrunner使用方法及实例
- Android自动化测试之Monkeyrunner使用方法及实例 - 大头爸爸的博客 - 博客频道 - CSDN.NET
- Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在上下文中使用
- 自动化测试基础-断言(Assert)使用方法
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(专治各种定位不准并发症)
- python爬虫之xpath的使用方法