Selenium WebDriver: есть ли способ подсчета элементов в динамическом списке, где элементы имеют гиперссылки? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть динамический список мест, отображаемых при выборе состояния (из выпадающего списка). Каждый элемент в списке является гиперссылкой, которая открывает другую страницу, содержащую другие детали. Как вы можете видеть HTML-код ниже, список не помечается с помощью выбора или таблицы. В этом сценарии, в Selenium, я понимаю, что я не смогу узнать количество нет. мест, которые отображаются при выборе состояния, поскольку это на самом деле не список. Правильно ли мое понимание?

(Я могу использовать linkText (). Click () для элементов, и он работает.)

<div class="blk">
    <div class="smlhead">
          Places
    </div>
    <div id="divPlacesCont" class="sbarPrnt" style="height: 179.219px;">
    <div id="divPlaces" class="tilewrap sbarcont" style="height: 179px;">
        <div class="blksmlr smlhead sngline">
        <a href="#" onclick="javascript:mcSearch.placeSelected(this, '12');">hyd</a>
        </div>
        <div class="blksmlr smlhead sngline">
        <a href="#" onclick="javascript:mcSearch.placeSelected(this, '7');">Hyderabad</a>
        </div>
    </div>

    <div class="sbar" style="display: none;">
        <div class="sbarpos" style="height: 152.576px; top: 0px;"></div>
    </div>
    </div>
</div>

1 Ответ

1 голос
/ 09 апреля 2019

Получить ссылку на WebElement по ID: divPlaces

WebElement element = driver.findElement(By.id("divPlaces"));

// find all links inside 
List<WebElements> list = element.findElements(By.xpath(".//a"));

Теперь, очевидно, вы можете проверить размер списка, чтобы увидеть, сколько там ссылок.

list.size();

И делай что хочешь с элементами из списка.

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