我想知道是否有办法在Xpath上验证多个字符串。这是我现在使用的那个:
/td[2][text()[contains(.,'Word1')]]
我想做这样的事情:
/td[2][text()[contains(.,'Word1' OR 'Word2' OR 'Word3')]]
这可能吗?
答案 0 :(得分:2)
是的,可能:
/td[2][text()[contains(.,'Word1') OR contains(.,'Word2') OR contains(.,'Word3')]]
答案 1 :(得分:2)
更新回答:
我相信,您遇到的问题是区分大小写,请尝试以小写形式编写or
:
//td[text()[contains(.,'Word1') or contains(.,'Word2') or contains(.,'Word3')]]
如果它没有帮助,您可以使用Union
方法:
/td[2][text()[contains(.,'Word1')]] | /td[2][text()[contains(.,'Word2')]] | /td[2][text()[contains(.,'Word3')]]
答案 2 :(得分:1)
是的 - 您只需要单独的contains()
来电:
[contains(., 'Word1') OR contains(., 'Word2') OR contains(., 'Word3')]
正如你现在所做的那样,一个布尔值作为第二个参数传递给contains
,而不是一个字符串。
答案 3 :(得分:1)
使用 XPath 2.0或3.0 ,您还可以使用:
一个Quantified Expression循环一系列单词并测试是否包含任何单词
//td[2][text()[some $word in ('Word1', 'Word2', 'Word3') satisfies contains(., $word)]]
matches()功能并指定正则表达式中的单词列表:
//td[2][text()[matches(., 'Word1|Word2|Word3')]]