在Selenium WebDriver中使用XPath通配符来匹配属性

22

我想在属性中使用通配符。例如,这是我的常规XPath:

//input[@id='activation:j_idt84:voId:1']`

我想用通配符替换掉j_idt中的数字,因为这个数字是动态的。我正在寻找像这样的东西:

//input[@id='activation:*:voId:1']

我不知道如何解决这个问题。我的想法是否可行?

2个回答

37

4

您可以使用XPath 2.0中可用的matches函数来使用字符串通配符:

//input[matches(@id, 'activation:.*:voId:1')]

这种方法在我的代码中不起作用。complex857的解决方案有效。非常感谢! - Ed H
3
Selenium将xpath委托给底层浏览器(http://code.google.com/p/selenium/issues/detail?id=3009),因此一旦浏览器实现了它们,它就应该开始工作。 - complex857

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接