gpt4 book ai didi

google-chrome - XPath 1.0 中括号的作用是什么?

转载 作者:行者123 更新时间:2023-12-02 17:51:17 27 4
gpt4 key购买 nike

在 Chrome DevTools > Elements 中,当我搜索 //tr/td/span 时,我找到了一个元素(因为我的页面上存在这样的元素)。

当我搜索 (//tr)/td/span(//tr/td)/span 时,我也找到了这个元素。

但既不是 //tr(/td)/span 也不是 //tr/(td)/span 也不是 //tr/(td/) span 找到任何东西。

XPath 中这些括号的含义是什么?

最佳答案

XPath 中的括号与其他编程语言中的括号一样使用:

  1. 函数参数分组:例如://tr/td[contains(.,"e")]
  2. 计算优先级指示:例如:普通算术表达式分组以及前导路径分组(在 XPath 语法中跟踪 LocationPathPrimaryExpr),如下所示(//td)[1] 查找文档中的第一个 td,而不是 //td[1] 查找 td 元素是其各自父元素的第一个子元素。

它们也用于

  1. 节点测试:例如:node()element()、...
  2. 处理指令:例如:PageBreak()

您的示例找不到任何内容(例如://tr(/td)/span//tr/(td)/span1 等)在不遵循上述类别之一的路径中嵌入了括号。这种括号的使用实际上语法无效,应该这样报告,而不是默默地失败。

1请注意,该表达式在 XPath 2.0/3.0 下实际上在语法上有效。谢谢@Andersson 的关注。

关于google-chrome - XPath 1.0 中括号的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com