XPATH是什么? |
xpath是一种在xml中查找信息的语言,普遍应用于xml中,在类xml的html中也可以使用,在selenium自动化中起核心作用,是写selenium自动化脚本的基础。 本文主要说明xpath的元素定位方法(我自己的叫法,非官方),其他方面不做说明。 |
xpath的定位 | ||||||||||||||||||||||||||||||||||||
xpath的定位只要由路径定位、标签定位、轴定位组合构成,外加筛选功能进行辅助,几乎可以定位到任意元素。 | ||||||||||||||||||||||||||||||||||||
标签定位:通过标签名即可找到文档中所有满足的标签元素,如: [td]
| ||||||||||||||||||||||||||||||||||||
路径定位:通过路径描述来找到需要的元素,“/”开头表示从根路径开始,其他位置表示子元素或分隔符;“//”表示后代元素;“..”表示父元素(上一级);“.”表示当前元素;“|”表示多条路径 [td]
| ||||||||||||||||||||||||||||||||||||
轴定位:通过轴运算符加上“::”和“标签”,找到需要的元素,类似路径定位,如: [td]
下表是轴运算符的列表 [td]
| ||||||||||||||||||||||||||||||||||||
筛选:通过以上方法找出来的元素会找到很多你本意不需要的元素,因此还需要通过一些筛选运算来找到对应的元素,筛选方式多种多样,下面的各种例子助你定位又快又准。 通用的筛选条件是以[xxxx]形式出现的(上面的例子中已有体现),常见筛选如下: A、属性筛选:属性名前+@来表示属性,如下 [td]
B、序号筛选:通过序号(从1开始),或排序运算查找元素 [td]
特别注意:序号筛选时,指定是当前元素的同级的第n个,如果当前元素的祖先中有元素不是唯一的,那么序号筛选是无效的。 通过括号将祖先括起来,再指定序号,可以使当前元素前的祖先是指定的、且唯一的,如: (//div[@class='class1']//span[@class='class2'])[1]/div[3] 这样就可以十分准确的定位到需要span下的第3个div,没有此括号,当//div[@class='class1']//span[@class='class2']找到多个元素时,就算用[3]也则只能定位到第1个 |
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |