Java 拡張 for ループを使用しているときに、なぜ私が得てIndexOutOfBoundsException
いるのですか?私のコードは次のようになります
for (WebElement input : driver.findElements(By.cssSelector("input[type='text']"))) {
if (input.isDisplayed()) {
input.clear();
}
}
Selenium WebDriver を使用してすべての<input type="text" />
タグを検索し、表示されている場合はコンテンツをクリアします (そうしないと、別の例外がスローされます)。そして、いくつかのテストで私は得る
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
残りのスタック トレースはPastebinにあります。
編集
配列が空であることのチェックを追加しても、このエラーは引き続き発生します
List<WebElement> inputs = driver.findElements(By.cssSelector("input[type='text']"));
if (!inputs.isEmpty()) {
for(WebElement input : inputs) {
}
}