Как взаимодействовать с элементом, когда в селене есть два одинаковых значения атрибута, я использую Hydrib Framework - PullRequest
0 голосов
/ 26 февраля 2020

Вот код HTML, как проверять элементы при одинаковом значении атрибута

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Таким образом, здесь только атрибут добавлен к сфокусированному элементу.

В этом случае вы можете найти дочерний уникальный атрибут. Здесь, кажется, вы можете получить метку, отфильтровать ее с текстом и получить желаемый webelement.

В любом случае, найдите атрибут: -

List<WebElement> redundantElement = driver.findElements("By Locator");
:css-selector :- "div.goog-control-hover"

for(Webelement checkbox : redundantElement){
    if(checkbox.getAttribute("class").contains("goog-control-hover")
        {
         // Do Specific action on the element u want to, "Hovered Element", else put negation on if checkpoint for alternat case
        }
}

иначе используйте nth-child (), чтобы получить элемент, но это было бы несколько stati c.

0 голосов
/ 26 февраля 2020

В таких случаях используйте окружающие элементы, чтобы сделать их уникальными. Вы можете пи c родитель, который не совпадает.

Для первого элемента используйте ниже xpath:

//div[@class='goog-control result 1h-vars 1h-root goog-control-hover']//div[@class='1h-metric__value']

И это для второго:

//div[@class='goog-control result 1h-vars 1h-root]//div[@class='1h-metric__value']

Примечание : пожалуйста, проверьте правильность написания. Я написал, увидев на изображении.

...