4、Selenium -- XPath定位
作者:
波罗的海de夏天 | 来源:发表于
2020-04-24 14:42 被阅读0次
XPath
是一门在 XML
文档中查找信息的语言。
一、常用工具
二、XML实例文档
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
三、XPath 语法
测试DOM文档实例:
-
选取节点:
表达式 |
描述 |
nodename |
选取此节点中的所有子节点 |
/ |
从根节点选取 |
// |
不考虑位置,可以从任意节点选取 |
. |
选取当前节点 |
.. |
选取当前节点的父节点 |
@ |
选取属性 |
-
谓语(Predicates):
谓语被嵌在方括号中,用来查找某个特定的节点或者包含某个指定的值的节点;
用法示例:
路径表达式 |
结果 |
/bookstore/book[1] |
选取bookstore下的第一个中的book元素 |
/bookstore/book[last()] |
选取bookstore下的最后一个中的book元素 |
/bookstore/book[position()<3] |
选取bookstore下的最前面两个book元素 |
//title[@lang] |
所有包含属性lang的title元素 |
/bookstore/book[price>35.00] |
选取bookstore下, price>35.00的book元素 |
//title[@lang] |
所有包含属性lang的title元素 |
/bookstore/book[price>35.00]/title |
选取bookstore下, price>35.00的book元素下的title |
-
通配符:
*
XPath
通配符可用来选取未知的XML
元素。
通配符 |
描述 |
* |
匹配任何元素的节点 |
@* |
匹配任何属性节点 |
node() |
匹配任何类型的节点 |
用法示例:
路径表达式 |
结果 |
/bookstore/* |
选取bookstore下的第一个中的book元素 |
//* |
选取文档中的所有元素 |
//title[@*] |
选取所有包含属性的title元素 |
-
管道符:
|
XPath
管道符可用来选取若干个路径。
路径表达式 |
结果 |
//book/title | //book/price |
选取book下的所有title和price元素 |
//title | //price |
选取文档中的所有元素title和price元素 |
/bookstore/book/title | // price |
选取bookstore下的book下的title元素和文档中所有的price元素 |
四、XPath 运算符
运算符 |
描述 |
实例 |
| |
计算两个节点集 |
//book | //cd |
+ |
加法 |
6 + 4 |
- |
减法 |
6 - 4 |
* |
乘法 |
6 * 4 |
div |
除法 |
6 div 4 |
= |
等于 |
price = 30.0 |
!= |
不等于 |
price != 30.0 |
< |
小于 |
price < 30.0 |
<= |
小于等于 |
price <= 30.0 |
> |
大于 |
price > 30.0 |
>= |
大于等于 |
price >= 30.0 |
or |
或 |
price >= 30.0 or price <= 60.0 |
and |
与 |
price >= 30.0 and price <= 60.0 |
mod |
取余 |
5 mod 2 |
本文标题:4、Selenium -- XPath定位
本文链接:https://www.haomeiwen.com/subject/dzrfwhtx.html
网友评论