为何XPath的following-sibling匹配当前元素子元素而非同级后续元素?
为什么你的XPath没定位到目标同级div?
问题根源在你用的//上:
//是后代轴选择器,它会从当前定位到的黄色div的所有后代节点中递归查找元素,所以你写的//following-sibling::div[1]实际上是在找黄色div内部子节点的同级,而非黄色div自己的同级节点。- 要定位黄色div的下一个同级div,需把双斜杠换成单斜杠
/。单斜杠是基于当前节点本身的关联轴(如同级、直接子节点)进行查找,正确的XPath表达式为://div[@id='search']/div/div/div[1]/following-sibling::div[1] - 简单区分:单斜杠
/是"从当前节点出发找直接关联的节点",双斜杠//是"从当前节点的所有后代节点里递归查找",两者的查找范围完全不同,你之前的写法选错了查找的起始范围。
内容的提问来源于stack exchange,提问作者theateist
相关产品推荐
相关产品推荐

