前言

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言,同时也支持HTML。是做web自动化测试必须要掌握的一个技能,web自动化页面元素定位,大多数人都会选择使用Xpath。当然xpath除了可以在web自动化中进行元素定位。在接口自动化中,对于一些返回内容是XML或者HTML的接口,我们也可以使用xpath来定位页面元素的内容。

1、选取节点

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

下面列出了最常用的路径表达式:

python的xpath函数 python中xpath语法_自动化


在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

python的xpath函数 python中xpath语法_python的xpath函数_02


2、谓语(条件过滤)

谓语用来查找某个特定的节点或者包含某个指定的值的节点,被嵌在方括号中。

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

python的xpath函数 python中xpath语法_软件测试_03


3、选取未知节点

XPath 通配符可用来选取未知的 XML 元素。

python的xpath函数 python中xpath语法_软件测试_04


在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

python的xpath函数 python中xpath语法_自动化_05


4、选取若干路径

通过在路径表达式中使用“|”运算符,您可以选取若干个路径。

#获取div下面的span元素或者pp元素
/div/span/ | /div/pp

5、模糊匹配

[contains(@属性,值)]
#选取属性为attr,并且值为100的所有元素。
//li[contains(@attr,100)]

6、XPath 运算符

下面列出了可用在 XPath 表达式中的运算符:

python的xpath函数 python中xpath语法_python的xpath函数_06