Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Не удается кликнуть на элемент в списке вэбэлементов


(Natalja Librante Lace) #1

Добрый день!
Есть список элементов, в котором рэндомно выбирается один из элементов и производится по нему клик. проблема в том, что список создается, список не пустой, рэндомный элемент выбирается, но не кликается.

код:

protected void chooseRandomAccount(List<WebElement> accountsWithMoney) {
       int chosenAccounts = accountsWithMoney.size();
        for (WebElement accountMoney:accountsWithMoney){
            System.out.println(evaluateJavascript("return arguments[0].textContent", accountMoney));
        } //проверка, что лист не пустой
        int randomChose = new Random().nextInt(chosenAccounts);
        waitABit(800);
        accountsWithMoney.get(randomChose).click();
}

джава-скриптом по элементу тоже не кликается:

   WebElement account = accountsWithMoney.get(randomChose);
            evaluateJavascript("arguments[0].click();", account);

Метод отрабатывает якобы правильно, но окно с выбором просто закрывается (при этом никакого выбора по сути не происходит).


(Jane Tymoschuk) #2

А через Actions кликнуть пробовали? И еще, элемент видимый? можно для начала попробовать проскролить к этому элементу, а потом уже кликать стандартным вебэлементовским кликом


(Natalja Librante Lace) #3

выбранный элемент может быть как видимым, так и не видимым, но ни в том, ни в другом случае клика не происходит.

Кроме того, исходный лист элементов (который открывается при тестировании) в три раза больше того, с которым мне надо работать работаю. первом этапе я выбираю только нужные для тестирования элементы, которые сохраняю в новый лист вэбэлементов и в нем уже выбираю рэндомно элемент, по которому надо произвести клик.


(Natalja Librante Lace) #4

С помощью наших девелоперов проблему решили более точно прописав xpath для создания первого листа вэбэлементов. А именно добавив в xpath заключительный тэг <a>


(YobiByte) #5

Благодарю, что не оставили тему без ответа. Вы не могли бы уточнить, а ещё лучше, привести пример кода (XPATH, что был исправлен девелоперами), которым был закрыт указанным Вами тэгом? Если подобное встретится читателям, будет крайне удобно знать решение проблемы. Заранее благодарю.


(Natalja Librante Lace) #6

xpath, по которому я пыталась кликнуть:
//[@id=‘transFrom’]//ul/li
а надо было:
//
[@id=‘transFrom’]//ul/li/a