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

如何用括号组合两个XPath表达式,使后者为前者子节点?

解决XPath组合父节点与多子节点选择的问题

你可以用以下写法实现需求,无需重复书写父节点表达式:

//nav[@class='header__nav']/(button|div)

原理说明:

  • XPath支持将多个子节点选择器用括号包裹,直接跟在父节点路径之后,这样就能一次性匹配父节点下的多个指定子节点,避免重复书写父节点的定位表达式。
  • 你最初的写法(//nav[@class='header__nav'])(/button|/div)不符合XPath语法规范,因为两个路径表达式直接拼接是无效的,必须通过路径分隔符/将父节点和子节点的选择逻辑关联起来。

如果你的环境支持XPath 2.0及以上版本,还可以用另一种写法:

//nav[@class='header__nav']/*[local-name() = ('button', 'div')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:22:01