【发布时间】:2017-03-08 16:43:24
【问题描述】:
我想将 3 个查询与联合运算符“|”结合起来这工作正常, 但我想为每个查询设置优先级,例如,如果第一个查询会带来结果,那么它需要是 node[0]
示例://div[@class='class1'] | //div[@class='class2'] | //div[@class='class3']
因此,如果字符串有超过 1 个查询匹配项,则它需要遵循某个优先级,或者如果之前的一个查询匹配项有一些匹配项,则最好不要对其他查询带来任何结果 请帮忙 谢谢你
【问题讨论】:
-
也许将 xpath 查询添加到其他两个 xpath 中?所以其他两个 xpath 依赖于以前的 xpath.. 示例:
//div[@class='class1'] | //div[@class='class1']/following-sibling::div[@class='class2']你必须要有创意 -
这有点相反,我需要“如果 class1 不存在而不是搜索 class2”
-
请指定 XPath 的版本。如果这是 XPath 1.0,那么您可能不走运。
-
我正在使用它与 Php,不确定 php 是否与 xpath 1.0 或 2.0 一起使用
-
然后
//div[@class='class1'] | //body[not(div[@class='class1'])]/div[@class='class2'] | //body[not(div[@class='class1'] and not(div[@class='class2']))]/div[@class='class3']如果class1 存在,那么第二和第三xpath 将一无所获,如果class 2 存在则第三xpath 将一无所有..正如我之前所说,你必须有创意。 .
标签: xpath union multiple-conditions