You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XPath选择多个指定标签名的后续兄弟元素?

问题解答

XPath完全支持指定匹配多个标签名,你提到的类似写法是存在的,只需要调整下语法即可:

正确的多标签匹配写法

你可以通过self轴结合or逻辑实现多标签过滤,同时在末尾加[1]取第一个匹配的元素,自动跳过中间的<br>等无关节点:

//label[contains(text(),'value')]/following-sibling::*[self::div or self::input][1]

写法说明

  • following-sibling::* 选中当前label节点所有后续的兄弟元素
  • 谓语[self::div or self::input] 从上述兄弟元素中过滤出标签为div或者input的元素
  • 末尾的[1] 取过滤后的第一个元素,不管中间存在多少<br>、<span>之类的无关节点,都能直接定位到你需要的交互元素

适配你场景的Selenium代码示例

driver.findElement(By.xpath("//label[contains(text(),'value')]/following-sibling::*[self::div or self::input][1]"));

可选的其他写法

你也可以通过name()或者local-name()函数实现同样的效果,存在命名空间的场景下更推荐用local-name():

//label[contains(text(),'value')]/following-sibling::*[local-name() = 'div' or local-name() = 'input'][1]

内容的提问来源于stack exchange,提问作者David Gilstad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:00:02