Данные положить в коллекцию? - PullRequest
0 голосов
/ 05 ноября 2019

Подскажите, как составить список предметов и найти указанный номер? Делай с селенидом.

ElementsCollection resultElements = $$(By.className("result-table"));

Здесь я поставил всю таблицу. Таблица содержит номера EIS, они должны быть выбраны. EIS (31908403282), вот HTML:

<div class="column-main__header-item">
        <h6>
            Номер ЕИС
        </h6>
        <p>
           <a href="regNumber=31908403282" class="purchase-card" 
            target="_blank">31908403282
           </a>
        </p>
    </div>

    <div class="column-main__header-item">
        <h6>Номер на площадке</h6>
        <p>4421/ЗКТЭ-РЖДС/19</p>
    </div>

При поиске Уточнить с помощью findElement и выполнить поиск по тегу:

ElementsCollection resultElements = $$(By.className("column-main__header-item")).findElement(tagName("a")).getText();

выдает ошибку:

"не удается найти символ символа: метод findElement (org.openqa.selenium.By) расположение: класс com.codeborne.selenide.ElementsCollection"

1 Ответ

0 голосов
/ 05 ноября 2019

Чтобы получить все карту покупки s, используйте a.purchase-card css селектор или .result-table a.purchase-card:

ElementsCollection purchaseCards = $$("a.purchase-card");
System.out.println(purchaseCards.texts());

$$() - это List<SelenideElement>, и вы не можете использовать findElement здесь.
Неверно : $$(By.className("column-main__header-item")).findElement(tagName("a")).getText();

Правильно : $$(By.className("column-main__header-item")).first().findElement(tagName("a")).getText();

Правильнопо индексу : $$(By.className("column-main__header-item")).get(5).findElement(tagName("a")).getText();

...