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
网友评论