XPath 选取具有特定文本值的节点
2014-11-12 15:17
183 查看
使用selenium进行自动化测试时,Xpath对界面元素的识别有很重要的作用。 如何利用xpath查找到带有特定文本值的节点是一个很重要的技能。
要解决的问题:
从 xml 文件中选取具有某个特定文本值的节点,比如说我要处理的是 plist 文件,内容如下:
[/code]
key=AppIDName,我要提取它所对应的 string value,即 chineseidublin,那么
1. 定位给定的 key 所对应的节点 N
2. 取节点 N 后面的第一个节点
所使用的 XPath 表达式:
PS:
上面的表达式对于 XPath 中的各个知识点都有涉及:
从匹配 key 的节点开始选择文档中的节点,不用考虑 key 节点在文档中的位置。
匹配所有的文本节点
等于
选取文档中当前节点的结束标签之后的所有节点。
选取第一个元素
参考:
1.
XPath 教程 | W3School
2. XML Path Language (XPath) 2.0 (Second Edition)
要解决的问题:
从 xml 文件中选取具有某个特定文本值的节点,比如说我要处理的是 plist 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AppIDName</key>
<string>chineseidublin</string>
<key>ApplicationIdentifierPrefix</key>
<array>
<string>CS8M2QZ3L3</string>
</array>
<key>TimeToLive</key>
<integer>364</integer>
<key>Version</key>
<integer>1</integer>
</dict>
</plist>
[/code]
key=AppIDName,我要提取它所对应的 string value,即 chineseidublin,那么
1. 定位给定的 key 所对应的节点 N
2. 取节点 N 后面的第一个节点
所使用的 XPath 表达式:
//key[text()='AppIDName']/following::*[1]
PS:
上面的表达式对于 XPath 中的各个知识点都有涉及:
//key路径表达式
从匹配 key 的节点开始选择文档中的节点,不用考虑 key 节点在文档中的位置。
text()分类测试,属于节点测试
匹配所有的文本节点
=运算符
等于
following::*轴
选取文档中当前节点的结束标签之后的所有节点。
[1]谓语
选取第一个元素
参考:
1.
XPath 教程 | W3School
2. XML Path Language (XPath) 2.0 (Second Edition)
相关文章推荐
- 使用 XPath 选取具有特定文本值的节点
- [工作笔记] Dom4j 和 XPath 结合 选取 xml 中任意深度的(即所有的)特定元素
- 【记录】selenium+xpath 文本信息定位,获取父节点属性
- 6.通过xpath的text()获得节点的文本信息
- Xpath解析之:几个常纠结的节点选取语法总结
- 根据XPath找到某一个特定的节点
- XPath语法获取当前节点文本的路径写法
- php与xpath使用操作文本节点
- 初学xpath 解决如何获取子孙节点的文本内容
- 解决xpath定位,获取某个子节点中的某个孩子节点或者文本
- XPath语法获取当前节点文本(保留格式)的路径写法2(not用法)
- XPath 使用路径表达式来选取 XML 文档中的节点或节点集
- [工作笔记] Dom4j 和 XPath 结合 选取 xml 中任意深度的(即所有的)特定元素
- 用XPath处理XML时遇到的选取节点的方法
- [工作笔记] Dom4j 和 XPath 结合 选取 xml 中任意深度的(即所有的)特定元素 - PayneWang@王沛 - 博客园
- Java+通过XPath获取XML文件中符合特定条件的节点
- jQuery 选取具有特定value的option
- XPath 使用路径表达式来选取 XML 文档中的节点或节点集
- XML:XPath路径定义选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式: 表达式 描述 nodename
- 替换XML里面的特定节点