在Google上进行研究我相信你可以在XPATH语句中使用*作为通配符,但似乎并非如此。因此,任何人都可以帮助我找到一个很好的XPATH语句,用于以下情况:在WebDriver中使用通配符By.XPATH
我有X个输入字段,其ID模式为“optionsX.name”。 X可以是任何数字,但可能在0-99之间,所以可能是2位数字。 像:
<input id="options0.name" type="text" value="value" name="options[0].name">
我如何返回所有匹配的模式输入元素XPATH语句? 我尝试了之前提到的通配符是这样的:
int numberOfFields = getDriver().findElements(By.xpath("//input[@id='options*.name']")).size();
随着使用的XPath之中:
//input[@id='options*.name']
我想,只有ID为excatly“选项??名。”这里返回输入的语句??可以是一个或两个数字的通配符/未知数,因为还有其他类似的输入与我不想包含的其他结尾。所以我需要通配符的前缀和后缀。
问候马丁
Thx。我在看到你之前最终做到了这一点:“//输入[开始(with @id,'options')并包含(@id,'。name')]”但不如你的精确。你能解释一下你的方法中的子字符串(@id,4)吗?剪掉ID的4个第一个字符?因为这不适合模式,因为我需要查看“.name”的最后5个字符。 –
是的,这应该是'字符串长度(。) - 4'。我们希望_last 5位数字,而不是来自第4个字符的所有内容。修复了这个缺陷。 –