Выберите конкретный элемент из выпадающего Selenium webdriver - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть веб-элемент, который при нажатии выдает выпадающий список, я могу щелкнуть веб-элемент и увидеть все элементы с помощью кода.

By mySelector = By.xpath("//li[contains(@class,'ant-select-dropdown-menu-item')]");
List<WebElement> myElements = driver.findElements(mySelector);
        for (WebElement e : myElements) {
            System.out.println(e.getAttribute("outerHTML"));
        }

Также

driver.findElement(By.xpath("//li[text() = '"
                    + user.getHomeLocation() + "']")).isDisplayed();

возвращает true

Но я не могу щелкнуть нужное значение. Я хочу нажать Вестминстер

<li unselectable="unselectable" class="ant-select-dropdown-menu-item-active ant-select-dropdown-menu-item" role="menuitem" aria-selected="false" style="-moz-user-select: none;">Select</li>
<li unselectable="unselectable" class="ant-select-dropdown-menu-item" role="menuitem" aria-selected="false" style="-moz-user-select: none;">Basking Ridge</li>
<li unselectable="unselectable" class="ant-select-dropdown-menu-item" role="menuitem" aria-selected="false" style="-moz-user-select: none;">Highlands Ranch</li>
<li unselectable="unselectable" class="ant-select-dropdown-menu-item" role="menuitem" aria-selected="false" style="-moz-user-select: none;">Westminster</li>

1 Ответ

0 голосов
/ 24 сентября 2018

Попробуйте добавить еще одно «содержимое» в локатор xpath с необходимым элементом:

//li[contains(@class,'ant-select-dropdown-menu-item')][contains(.,'Westminster')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...