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

Ed *_*d H 16 selenium xpath

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

//input[@id='activation:j_idt84:voId:1']`
Run Code Online (Sandbox Code Playgroud)

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

//input[@id='activation:*:voId:1']
Run Code Online (Sandbox Code Playgroud)

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

com*_*857 29

不幸的是XPath中没有字符串通配符.但是,您可以使用多个contains()starts-with()过滤这样的事情.

//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')]
Run Code Online (Sandbox Code Playgroud)

此外,这个答案也很有用:selenium:是否可以在selenium定位器中使用正则表达式