как сделать CSS селектор уникальным, если у меня есть 2 элемента с одинаковым селектором? - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь получить доступ ко второму элементу текста на изображении (общее количество установок, но левый элемент имеет тот же селектор, и в качестве вывода программа выдает мне текст. Как я могу справиться с ситуацией?

Снимок 1:

Snapshot 1

Снимок 2:

Snapshot 2

Снимок 3:

Snapshot 3

Снимок 4:

Snapshot 4

Ответы [ 3 ]

0 голосов
/ 15 марта 2019

Используйте index для получения элемента. С помощью селектора CSS вы можете попробовать этот способ.

driver.findElement(By.cssSelector("*.af-kpi-box-footer:nth-child(1)"))
driver.findElement(By.cssSelector("*.af-kpi-box-footer:nth-child(2)"))

Отредактировано с xpath.

WebElement Element1 = driver.findElement(By.xpath("(//h5[@class='af-kpi-box-footer'])[1]"));
System.out.println(Element1.getAttribute("innerHTML"));

WebElement Element3 = driver.findElement(By.xpath("(//h5[@class='af-kpi-box-footer'])[2]"));
System.out.println(Element3.getAttribute("innerHTML"));
0 голосов
/ 15 марта 2019
List<WebElement> elem=driver.findElements(By.className("af-kpi-box-pieces-container"));

for(int i=0;i<elem.size();i++){
  if(elem.get(i).getText().contains("Installs") {
    elem.get(i).getText();
    break;
    }
}

@ Edit => пропущен вызов метода .get() класса List

0 голосов
/ 15 марта 2019
//you may add extra selector like this

<div class="selector-1"></div>
<div class="selector-1 selector-2"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...