Как ввести текст в скрытое поле в Selenium WebDriver с помощью Java
Я использую WebDriver с Java для автоматизации тестирования. У меня есть следующий HTML-код для поля ввода, что скрыто:
<input type="hidden" value="" name="body" id=":6b">
Как ввести что-то в скрытое поле в Selenium2 (WebDriver)? Я написал код:
driver.findElement(By.name("body")).sendKeys("test body");
но была показана следующая ошибка: орг.openqa.селен.ElementNotVisibleException: элемент в настоящее время не отображается и поэтому не может взаимодействовать с Длительность команды или тайм-аут: 30.04 секунд
может кто-нибудь пожалуйста, помогите мне написать / ввести текст в скрытое поле?
2 ответов
прежде всего вам нужно изменить значение атрибута type как текст из hidden. Для этого будет работать следующий код с использованием javascript:
jse.executeScript("document.getElementsByName('body')[0].setAttribute('type', 'text');");
теперь вы можете ввести этот текст с помощью WebDriver. Итак, общий код для ввода с помощью WebDriver с использованием Java и Javascript выглядит следующим образом:
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("document.getElementsByName('body')[0].setAttribute('type', 'text');");
driver.findElement(By.xpath("//input[@name='body']")).clear();
driver.findElement(By.xpath("//input[@name='body']")).sendKeys("Ripon: body text");
WebDriver driver=new FirefoxDriver();
driver.get("http://localhost/login.do");
driver.manage().window().maximize();
RemoteWebDriver r=(RemoteWebDriver) driver;
String s1="document.getElementById('username').value='admin'";
r.executeScript(s1);