Есть два класса с одинаковыми именами. Как выбрать элемент в одном из них, используя css/xpath в Webdriver.IO?
Я использую Webdriver.io и хочу выбрать элемент внутри класса "text-fields-container" (это поле пароля). Оба класса имеют одинаковое имя. Как я могу выбрать второй класс, который имеет тип ="пароль".
<form>
<div class="text-fields-container">
<div>
<input type="text" class="text-field" placeholder="Email" required stype="margin-bottom: 1.125rem;">
</div>
<div>
<input type="password" class="text-field" placeholder="Password" required stype="margin-bottom: 5px;">
</div>
</div>
</form>
2 ответа
Чтобы выбрать второй класс, имеющий type="password", вы можете использовать любую из следующих стратегий локатора:
cssSelector
:"input.text-field[type='password']"
cssSelector
(гранулированный):"input.text-field[type='password'][placeholder='Password']"
xpath
"//input[@class='text-field' and @type='password']"
xpath
(гранулированный):"//input[@class='text-field' and @type='password' and @placeholder='Password']"
Попробуй это: driver.findElement(By.xpath("(//input[@class='text-field'])[2]"));