美文网首页
4、Selenium -- XPath定位

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文档实例:

  1. 选取节点:
表达式 描述
nodename 选取此节点中的所有子节点
/ 从根节点选取
// 不考虑位置,可以从任意节点选取
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
  1. 谓语(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
  1. 通配符: *

    XPath通配符可用来选取未知的XML元素。
通配符 描述
* 匹配任何元素的节点
@* 匹配任何属性节点
node() 匹配任何类型的节点

用法示例:

路径表达式 结果
/bookstore/* 选取bookstore下的第一个中的book元素
//* 选取文档中的所有元素
//title[@*] 选取所有包含属性的title元素
  1. 管道符: |

    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