如何在findElement中使用表达式(By.xpath(" // span [contains(text(),' string')]"))

时间:2016-09-12 10:10:53

标签: java selenium

findElement(By.xpath("//span[contains(text(),'string')]"));

期待结果:

findElement(By.xpath("//span[contains(text(),**String**)]"));

哪个字符串是表达式

2 个答案:

答案 0 :(得分:2)

实际上Selenium-WebDriver使用仅支持Wicked Good XPathXPath 1.0库。

因此,正则表达式在此处是非法的,您只能使用Selenium-WebDriver使用String param = "something"; findElement(By.xpath("//span[contains(text(),'" + param +"')]")) 的特征和功能。

  

如果它不支持正则表达式

,我可以在这里使用参数值吗?

是的,你可以使用参数值,但是这个参数值只会被视为字符串而不是正则表达式,如下所示: -

[self.tableView beginUpdates];
[self.tableView endUpdates];

答案 1 :(得分:0)

默认情况下,Selenium使用浏览器附带的xpath版本的“本机”版本,xpath 1不支持正则表达式。