HTML:
<div class = "MuiGrid-root MuiGrid-grid-xs-12 karutaNameNam css-1uqhpru">Super Heros</div>
Как выбрать элемент, используя class = karutaNameNam и его значение = «Super Heros».
Мы можем использовать точку [.] перед именем класса внутри 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']")));