我想在我的屬性中使用通配符。例如,這是我經常的XPath:在Selenium WebDriver屬性中使用XPath通配符
//input[@id='activation:j_idt84:voId:1']`
我想用一個通配符來代替j_idt
數量,因爲數量是動態的。我正在尋找這樣的事情:
//input[@id='activation:*:voId:1']
我不知道如何解決這個問題。我的想法甚至可能嗎?
我想在我的屬性中使用通配符。例如,這是我經常的XPath:在Selenium WebDriver屬性中使用XPath通配符
//input[@id='activation:j_idt84:voId:1']`
我想用一個通配符來代替j_idt
數量,因爲數量是動態的。我正在尋找這樣的事情:
//input[@id='activation:*:voId:1']
我不知道如何解決這個問題。我的想法甚至可能嗎?
不幸的是XPath中沒有字符串通配符。但是,您可以使用多個和starts-with()
來過濾這樣的事情。
//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')]
而且,這個答案可能是太有用:selenium: Is it possible to use the regexp in selenium locators
您可以使用matches
功能,該功能提供了XPath 2.0使用字符串通配符:
//input[matches(@id, 'activation:.*:voId:1')]
這種方式在我的代碼中不起作用。 complex857的解決方案起作用。但非常感謝! –
Selenium [代表xpath到底層瀏覽器](http://code.google.com/p/selenium/issues/detail?id=3009),所以一旦瀏覽器實現它們,它應該開始工作。 – complex857
感謝,此解決方案完美! –