在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個字符的所有內容。修復了這個缺陷。 –