すべての要素とその値を取得しようとしています。いくつかのアイテムを含むテーブルがあります (IOS)
テーブル内のすべてのアイテムは同じ名前ですが、値が異なりますが、次を使用して一度に要素を取得しようとしています
List<WebElement> l = driver.findElements(By.name(name));
次に、リストを繰り返し処理して値を取得します
for(int i =0; i < l.length; i++){
String val = ((MobileElement) l.get(i)).getAttribute("value");
}
最初の反復 (最初の要素) でのみ正しい値を取得しています。他のすべては空の値を返します...
コードを次のように変更する場合:
//1
List<WebElement> l = driver.findElements(driver, By.name(name));
String val = ((MobileElement) weList.get(0)).getAttribute("value");
//2
l = driver.findElements(driver, By.name(name));
val = ((MobileElement) weList.get(1)).getAttribute("value");
//3
l = driver.findElements(driver, By.name(name));
val = ((MobileElement) weList.get(2)).getAttribute("value");
正しい値を取得しています。
アクセスしようとするたびに要素をプルする必要があるようです。それはバグですか、それとも単に何かが足りないのですか?