Релиз ZennoDroid Pro — Финальный релиз!

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Эта коллекция будет содержать только элементы, которые отображаются на экране, поэтому свайпа к ним не будет. Элементов, которых нет на экране, еще не существует.
Нужна другая логика, Для поиска с прокручиванием можно использовать функции
ScrollToElementByAccessibilityId, ScrollToElementByUiAutomator, ScrollToElementByClassName()
дополнение к вопросу: у меня есть два элемента (видимые на экране). Как мне кликнуть по второму ?
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
дополнение к вопросу: у меня есть два элемента (видимые на экране). Как мне кликнуть по второму ?
Кому интересно, у меня так получился выбор из коллекции:
C#:
IReadOnlyCollection<IAndroidElementAPI> clickAdrElms = droid2.FindElementsByUiAutomator($"new UiSelector().textContains(\"{project.Variables["addr"].Value}\")");
if(clickAdrElms.Count > 0)
{
    IAndroidElementAPI elm = clickAdrElms.ElementAtOrDefault(1);
    if (elm != null)
    {
        elm.Click();
        Thread.Sleep(3000);
    }   
}
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
468
Благодарностей
369
Баллы
63
Немного поправлю. Чтобы кликнуть на второй элемент, в коллекции должно быть больше 1 элемента. Также может быть ситуация, что вообще не нашлось элементов и коллекция равна null if (clickAdrElms?.Count > 1).

FindElementsByUiAutomator возвращает массив, можно сразу по индексу обращаться. Второй элемент - это индекс 1.
C#:
var driver = instance.DroidInstance.AppiumDriver;
IAndroidElementAPI [] clickAdrElms = driver.FindElementsByUiAutomator($"new UiSelector().textContains(\"{project.Variables["addr"].Value}\")");
if (clickAdrElms?.Length > 1)
{
    clickAdrElms[1].Click();
    Thread.Sleep(3000);
}
 
Последнее редактирование:
  • Спасибо
Реакции: BAZAg

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)