我想使用以下正则表达式匹配以下文本sometext12345_text。
我在我的一个硒测试中使用这个。
我在我的一个硒测试中使用这个。
String expr = "//*[contains(@id,'sometext[0-9]+_text')]"; driver.findElement(By.xpath(expr));
它似乎没有工作。有人可以帮忙吗?
XPath 1.0不能本地处理正则表达式,可以尝试类似的东西
//*[starts-with(@id,'sometext') and ends-with(@id,'_text')]
(正如paul t所指出的那样,// * [boolean(number(substring-before(substring-after(@id,“sometext”),“_text”)))]可以用来执行相同的检查你的原始正则表达式如果您还需要检查中位数字)
在XPath 2.0中,尝试
//*[matches(@id,'sometext\d+_text')]