Здравствуйте, я пытаюсь найти несколько элементов с тем же именем класса. КлассName и структура тела элементов одинаковы, но тексты, ссылки и рисунки разные.Selenium - размещение нескольких элементов с тем же именем класса
<div class="dc-content-right clearfix"> (parent)
<div class="dc-item clearfix"> (child nodes)
<div class="dc-item clearfix">
<div class="dc-item clearfix">
Каждый из этих дочерних элементов выглядит следующим образом:
<div class="dc-item clearfix">
<div class="dc-icon">
<div class="dc-info">
<h2>
<a href="http://www.avg.com/ww-en/free-antivirus-download">AVG AntiVirusFree 2015</a>
</h2>
Каждый дочерний элемент имеет другой текст в теге H2. Поэтому, когда это AVG AntiVirus Free 2015, тогда это интернет-безопасность ... и так далее. Поэтому я хочу сохранить все элементы в списке, а затем работать с ними. Сначала я сохранить эти элементы intto список WebElements:
List <"WebElement"> list = driver.findElements(By.xpath("//div[@class='dc-item clearfix']"));
Затем я хочу итерацию по списку и написать текст h2 для каждого элемента на экране:
for(WebElement i:superDiv)
{
System.out.println(i.findElement(By.xpath("//h2/a")).getText());
}
Так что исход должен быть список из трех разных заголовков, извлеченных из divs
. Задача : результатом является список из 3 заголовков, которые являются теми же!
AVG AntiVirus Free 2015
AVG AntiVirus Free 2015
AVG AntiVirus Free 2015
Похоже, что я нашел один и тот же элемент 3 раза. Кто-нибудь есть идея, что может быть проблемой? Спасибо
Спасибо, что будет писать весь текст можно найти в дочернем элементе (ссылки, описание, заголовок ...) Я бы как получить доступ только к тегу h2. – Zawe
ya, я неправильно понял вопрос. Я обновил xpath, так как работает новый? – Cathal
Да, это действительно работает. Спасибо. Но все дело в том, возможно ли сначала сохранить весь дочерний элемент. Список <"WebElement"> list = driver.findElements (By.xpath ("// div [@ class = 'dc-item clearfix']")); , а затем вводит различные части. Что-то вроде list.get (1) .findElement (By.xpath ("// h2/a")). GetText(). Вы знаете, что что-то подобное возможно? – Zawe