使用selenium进行自动化测试时,Xpath对界面元素的识别有很重要的作用。 如何利用xpath查找到带有特定文本值的节点是一个很重要的技能。
要解决的问题:
从 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>
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定位特定文本值的方法,并通过实例演示了选取XML文件中指定节点的过程。
3084

被折叠的 条评论
为什么被折叠?



