使用XPath无法获取正确定位器,匹配结果过多如何定位红色对应LinkA按钮
适用XPath写法
以下两种写法都可以精准定位到与Red同行了LinkA按钮,不会返回多余匹配结果:
- 推荐写法(兼容性强,适配文本带空格的场景):
//tr[.//span[normalize-space(text())='Red']]//span[normalize-space(text())='LinkA']/ancestor::button[1] - 简洁写法(页面结构固定时使用):
//span[text()='Red']/ancestor::tr[1]//td[2]//button
实现逻辑:
先锚定包含Red文本的行级<tr>容器,再在该行范围内查找对应LinkA按钮,从查询范围层面过滤掉其他行的同名按钮。
如果实际页面的DOM结构有微调,只需调整ancestor的层级或者行内元素的位置索引即可适配。
内容的提问来源于stack exchange,提问作者sravan
相关产品推荐
相关产品推荐

