В selenide реально нет метода который позволяет получить индекс элемента?
Если ты перебираешь коллекцию и сравниваешь какой-то признак элемента с ожидаемым, то ты уже работаешь с этим элементом, верни его, зачем возвращать его индекс?
Если ты перебираешь коллекцию и сравниваешь какой-то признак элемента с ожидаемым, то ты уже работаешь с этим элементом, верни его, зачем возвращать его индекс?
Все супер ... find помог ... Но что делать когда у меня к примеру есть список транзакций... У каждой title, amount, currency и прочие там детали. Я нужную транзакцию нахожу через find но возвращает она мне один элемент title, а мне проверить то надо не только title <XCUIElementTypeStaticText name="AccountBalanceLabel"> <XCUIElementTypeStaticText name="AccountTitleLabel"> <XCUIElementTypeStaticText name="AccountImageLabel">
берешь потом у этого элемента родителя - и вот у тебя вся строка, индекс и не нужен
private int getSuitableElementNumber(ElementsCollection elementsCollection, String text) throws Exception { int elementNumber = Integer.parseInt("null"); for (int i = 0; i < elementsCollection.size(); i++) { if (elementsCollection.get(i).getText().equals(text)){ elementNumber = i; } } if (elementNumber >= 0) { return elementNumber; } else { throw new Exception("В списке нет счета с названием " + text); }
Нет, в селениде нет метода, который возвращает индекс. Заметь, что такого метода нет и в стандартных коллекциях Java (ArrayList и т.д.). И это неспроста. Любой объект может одновременно находиться в куче разных списков. Он же не может хранить все свои индексы во всех списках.