我正在为内容部分随机化的页面编写自动化测试:元素的文本将是一组已知的可能性。
我想编写一个XPath选择器,其中说:&#34;其中<h3>
的内容为Foo
或Bar
或Baz
& #34;
我该怎么做?
我想我需要一个正则表达式matches
。我已经尝试了//h3[matches(text(), 'Foo|Bar|Baz|')]'
,但我使用的图书馆说这不是一个有效的查询。 (我不知道它使用的XPath版本。)
答案 0 :(得分:2)
正则表达式和matches()
函数需要 XPath 2.0 。
如果您的库仅支持 XPath 1.0 ,请使用此XPath,
//h3[.='Foo' or .='Bar' or .='Baz']
选择字符串值为h3
或Foo
或Bar
之一的所有Baz
元素,而无需使用正则表达式。
答案 1 :(得分:2)
如果您只想将//h3[. = ('Foo', 'Bar', 'Baz')]
元素的字符串内容与序列中的三个值进行比较,则使用XPath 2.0及更高版本也可以使用h3
。