XPath for" text匹配以下字符串之一"?

时间:2017-10-30 13:40:30

标签: regex xpath

我正在为内容部分随机化的页面编写自动化测试:元素的文本将是一组已知的可能性。

我想编写一个XPath选择器,其中说:&#34;其中<h3>的内容为FooBarBaz& #34;

我该怎么做?

我想我需要一个正则表达式matches。我已经尝试了//h3[matches(text(), 'Foo|Bar|Baz|')]',但我使用的图书馆说这不是一个有效的查询。 (我不知道它使用的XPath版本。)

2 个答案:

答案 0 :(得分:2)

正则表达式和matches()函数需要 XPath 2.0

如果您的库仅支持 XPath 1.0 ,请使用此XPath,

//h3[.='Foo' or .='Bar' or .='Baz']

选择字符串值为h3FooBar之一的所有Baz元素,而无需使用正则表达式。

答案 1 :(得分:2)

如果您只想将//h3[. = ('Foo', 'Bar', 'Baz')]元素的字符串内容与序列中的三个值进行比较,则使用XPath 2.0及更高版本也可以使用h3