Selenium如何编写含AND、OR组合逻辑的XPath匹配h6多文本场景
错误写法原因说明
- 第一种写法逻辑嵌套错误:你把第二个
preceding-sibling::h6判断放在了第一个h6节点的筛选规则内,相当于要求匹配到的h6自身还有一个同级前置的h6节点,和需求完全不符。 - 第二种写法函数用法错误:
contains()方法不支持在第二个参数位置直接用or拼接多个待匹配字符串,只能单次判断一个字符串是否存在。
正确XPath写法
"//div/p[contains(text(),'date') and preceding-sibling::h6[contains(text(),'abc') or contains(text(),'def') or contains(text(),'ghi')]]"
如果后续还要新增可匹配的h6文本,直接在h6的筛选括号内新增or contains(text(),'新文本')即可。
内容的提问来源于stack exchange,提问作者Coen17st
相关产品推荐
相关产品推荐

