gpt4 book ai didi

selenium - 顺序谓词和组合谓词之间的区别

转载 作者:行者123 更新时间:2023-12-03 00:56:35 25 4
gpt4 key购买 nike

在 Selenium 中,我编写了一个 xpath 并且它们都检索到相同的结果。

//a[@role='tab'][text()=' Assets']
//a[@role='tab' and text()=' Assets']

这两个意思一样吗?

最佳答案

在大多数情况下,a[b][c]a[b 和 c] 具有完全相同的效果。有两个异常(exception)情况需要注意:

  • 如果谓词是数字,或者依赖于 position()last() (我将这些称为位置谓词)。例如,a[@x][1] 选择第一个具有 @x 属性的 a 元素,而 a[1 ][@x] 选择第一个 a 元素,只要它具有 @x 属性(否则不选择任何内容)。相比之下,a[1 and @x] 将整数 1 转换为 bool 值 true(),因此它仅表示 a[@x] .

  • 如果 bc 的计算因动态错误而失败,则行为可能会有所不同。这里的精确规则取决于您使用的 XPath 版本,说实话,这些规则给实现留下了一些余地,但如果您想确保在出现 b 的情况下,您需要小心谨慎。如果为 false,则不会评估 c。 (这在 XPath 1.0 中几乎不重要,因为很少有表达式会引发动态错误。)

关于selenium - 顺序谓词和组合谓词之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53097876/

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