Perfecto中如何通过已知字段元素定位对应动态变化的字段值web元素
解决方案
直接使用XPath的following-sibling相邻同级节点轴定位即可,不需要依赖绝对路径,适配所有用户场景的字段排序变化。
具体定位写法
你可以直接用以下两种相对XPath实现定位,推荐优先用带id的版本,稳定性更高:
- 基于文本定位:
//*[text() = 'Name']/following-sibling::div[1] - 基于字段id定位(更稳定):
//*[@id='Name_field']/following-sibling::div[1]
逻辑说明
你给出的HTML结构里,字段名div和对应的值div是相邻的同级节点:
- 先通过你已经验证过的规则定位到Name字段本身的节点
following-sibling::div表示查找当前节点之后的所有同级div元素- 加
[1]表示取匹配到的第一个节点,正好就是紧跟在Name字段后的对应值节点
Perfecto侧使用方法
直接把上述自定义的相对XPath填入Perfecto的元素定位输入框即可,不需要使用对象spy默认生成的绝对XPath,Perfecto完全支持自定义XPath定位规则。
内容的提问来源于stack exchange,提问作者Stacy Overflow
相关产品推荐
相关产品推荐

