Вместо использования идентификатора класса, вы можете перейти к тексту ссылки, если ваш текст постоянен.
driver.findElement(By.linktext(" *** M3A Theme"));
или вы можете напрямую искать текст, как этот
driver.finElement(By.xpath("//a[@text='*** M3A Theme']"));
Если ваш текст не является константой, вы можете использовать содержащий текст, используя xpath
driver.findElement(By.xpath("//*[text()[contains(.,'M3A Theme')]]"));
Примечание:
Чтобы получить класс:
driver.findElement(By.cssSelector("theme-item[class = 'list-group-item
xpath-themes-list-item active']"));
Я считаю, что ваше имя класса является динамическим, и оно будет list-group-item xpath-themes-list-item
для всех элементов, как только вы нажмете на любую опцию, имя класса изменится на list-group-item xpath-themes-list-item active
.
Чтобы проверить, выбрано оно или нет, сначала нажмите linktext
. Затем вы идете с указанным выше локатором и проверяете на isDisplayed()
. Таким образом, вы можете проверить, выбран ли ваш вариант или нет