С помощью Selenium на Java пишу программу, которая заполняет некоторые поля, нажимает submit и т.д. Все шло нормально, пока не натолкнулся на такую вещь. В одно из полей мне нужно вставить текст. Делал я это так:
//Ищем ID поля ввода email и устанавливаем туда значение
driver.findElement(By.id("Email")).sendKeys("vasya.antonov0274@gmail.com");
Столкнулся с полем, в которое мне нужно ставить значение, но которое не имеет прямого ID. Привожу код этого блока:
<div id="input-url">URL:
<div class="errorbox-good">
<input name="urlnt" value="" size="25" maxlength="1000" type="text">
</div>
</div>
Значение мне нужно вставить в <input name="urlnt" value="" size="25" maxlength="1000" type="text">.
Знаю, что в selenium, кроме поиска по ID, есть методы поиска по имени тега и т.д. но перебрал разные варианты, пока ответа не нашел.
Найдите по атрибуту name
driver.findElement(By.name("urlnt")).sendKeys("<TEXT>");
Как вариант cssSelector
driver.findElement(By.cssSelector("#input-url .errorbox-good input")).sendKeys("<TEXT>");
Продвижение своими сайтами как стратегия роста и независимости