Как получить текст из двух отдельных div с одинаковым именем класса?

1

Мне нужно получить два ярлыка "Текст 1", "Текст 2", который принадлежит к одному классу = "xyz", которые расположены в двух div's.структурах, как показано ниже.

<div class='xyz'>TEXT 1</div>
<div class='xyz'>TEXT 2</div>

Может ли кто-нибудь помочь мне решить эту проблему?

  • 0
    Пожалуйста, оставьте соответствующую HTML-разметку.
  • 0
    то, что вы могли бы сделать, это использовать cssSelector и использовать driver.findELements (By.cssSelector (". xyz> div: nth-of-child (1)")) или вы можете использовать findElements, и там вы перебираете список и получаете текст каждого элемента. Пример: список <WebElement> aux = driver.findElements (By.cssSelector (". Xyz"));
Теги:
selenium
selenium-webdriver

2 ответа

3
Лучший ответ

Вы находите элементы по className а затем используйте getText() для получения текста:

List<WebElement> elements = driver.findElements(By.className("xyz"));

for(WebElement element:elements) {
    System.out.println(element.getText());
}
  • 0
    Спасибо, работает отлично
1

Используйте метод FindElements а затем получите доступ к необходимому индексу div, например:

var elements = driver.FindElements(By.CssSelector((".xyz"));
//get text in first element;
elements[0].getText();
//in second
elements[1].getText(); //etc

Ещё вопросы

Сообщество Overcoder
Наверх
Меню