目录


回到顶部

1.XPATH与自动化之间的关系

1.XPATH是一门在XML文档中查找信息的语言。XPATH可用来在XML文档中对元素和属性进行遍历。

2.XPATH是用来选择“节点”的一种基于表达式的语言;

3.表达式的格式类似于文件系统,eg. C:\user\admin;

4.XPATH最常用的场景之一就是在自动化中用来选择HTML DOM 节点;

5.Selenium原生支持XPATH,因此也是selenium自动化测试中作为选择web 元素的主要方法之一;

回到顶部

2.XPATH简介

xpath evaluate 用法 xpath基本语法_xpath

XPATH 包含一个标准函数库:XPATH含有超过100个内建的函数。可以处理字符串值,数值,日期和时间比较,节点和QName处理,序列处理,逻辑值等等。

回到顶部

3.XPATH术语

有7种类型的节点(Node):元素、属性、文本、命名空间、处理指令、注释、文档节点(或称为根节点).XML文档是被作为节点树来对待的,树的根被称为文档节点或根节点。基本值(Atomic value)是无父或无子的节点。项目(Item)是基本值或者节点。

XPATH节点:

xpath evaluate 用法 xpath基本语法_子节点_02

XPATH术语:

– Parent:父节点

– Child:子节点

– Sibling:同胞节点

– Ancestor:先辈节点

– Descendant:后代节点

XPATH术语:

xpath evaluate 用法 xpath基本语法_标签名_03

回到顶部

4.XPATH语法

xpath evaluate 用法 xpath基本语法_子节点_04

4-1.选取节点

xpath evaluate 用法 xpath基本语法_子节点_05

xpath evaluate 用法 xpath基本语法_xpath_06

4-2.谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

xpath evaluate 用法 xpath基本语法_xpath_07

4-3.选取未知节点

xpath evaluate 用法 xpath基本语法_子节点_08

4-4.选取若干路径

xpath evaluate 用法 xpath基本语法_xpath_09

回到顶部

5.XPATH轴

xpath evaluate 用法 xpath基本语法_xpath evaluate 用法_10

5-1.位置路径表达式

xpath evaluate 用法 xpath基本语法_xpath_11

5-2.步包括轴和节点测试

xpath evaluate 用法 xpath基本语法_xpath_12

xpath evaluate 用法 xpath基本语法_标签名_13

回到顶部

6.XPATH运算符

XPATH 表达式可返回节点集、字符串、逻辑值以及数字。

xpath evaluate 用法 xpath基本语法_xpath evaluate 用法_14

http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html

选取当前节点之后的所有同级节点:Following-sibling::子节点标签名

选取当前节点的父节点:parent::子节点标签名

选取当前节点之前的所有同级节点:Preceding-sibling::子节点标签名

回到顶部

7.用Text构建有效的XPATH

语法如下://标签名[text()=’标签名对应的文本名称’]

比如://a[text()=’文本名称’],文本名称要完全匹配,包括空格。

回到顶部

8.用Contains关键字构建有效的XPATH

语法如下://标签名[contains(attribute,’属性的值’)]

比如://a[contains(text(),’忘记密码’)],其中忘记密码可以部分包含,不用完全匹配。

//input[contains(@class,’ipt’) and contains(@placeholder,’手机号’)],其中可以使用逻辑的方式去定位元素。

回到顶部

9.用startwith关键字构建有效的XPATH

语法如下://标签名[startwith(attribute,’属性的开始值开头’)]

比如://input[starts-with(@class,’xa-emaiOrphone’)]