Как идентифицировать элемент с помощью ClassName и его значения с помощью Java

HTML:

<div class = "MuiGrid-root MuiGrid-grid-xs-12 karutaNameNam css-1uqhpru">Super Heros</div>

Как выбрать элемент, используя class = karutaNameNam и его значение = «Super Heros».

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
42
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Мы можем использовать точку [.] перед именем класса внутри cssSelector для использования className внутри метода findElement.

WebElement element = driver.findElement(By.cssSelector('.MuiGrid-root.MuiGrid-grid-xs-12.karutaNameNam.css-1uqhpru'));

WebElement element = driver.findElement(By.cssSelector('.karutaNameNam'));
Ответ принят как подходящий

Чтобы идентифицировать элемент с текстом как Супер Герои, вы можете использовать любой из следующих стратегии поиска:

  • cssселектор:

    WebElement element = driver.findElement(By.cssSelector("div[class*='MuiGrid-root'][class*='karutaNameNam']"));
    
  • xpath:

    WebElement element = driver.findElement(By.xpath("//div[contains(@class, 'karutaNameNam') and text()='Super Heros']"));
    

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

  • cssселектор:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div[class*='MuiGrid-root'][class*='karutaNameNam']][value='emptyAssembly']")));
    
  • xpath:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[contains(@class, 'karutaNameNam') and text()='Super Heros']")));
    

Другие вопросы по теме