如何使用Java在Selenium WebDriver的隐藏字段中键入一些文本
How to type some text in hidden field in Selenium WebDriver using Java
我正在使用WebDriver和Java进行测试自动化。我有以下隐藏的输入字段的 HTML 代码:
<input type="hidden" value="" name="body" id=":6b">
如何在Selenium2(WebDriver)的隐藏字段中输入内容?我编写的代码为:
driver.findElement(By.name("body")).sendKeys("test body");
但它显示了以下错误:org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互命令持续时间或超时:30.04 秒
任何人都可以帮我在隐藏字段中编写/键入一些文本吗?
首先,您必须将 type 属性的值更改为隐藏的文本。以下使用javascript的代码将为此工作:
jse.executeScript("document.getElementsByName('body')[0].setAttribute('type', 'text');");
现在,您可以使用WebDriver在该文本上键入内容。因此,使用 Java 和 Javascript 使用 WebDriver 键入隐藏字段的总体代码如下:
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);
你需要初始化一个JavascriptExecutor,它将执行javaScript命令:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('ElementId').setAttribute('type','text');");
driver.findElement(By.id("ElementId")).click();
driver.findElement(By.id("ElementId")).clear();
driver.findElement(By.id("ElementId")).sendKeys("theTextYouWant");
如果你想隐藏它:
js.executeScript("document.getElementById('ElementId').setAttribute('type','hidden');");
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 使用jquery将输入字段转换为文本
- 如何从查询字符串中的输入字段发回文本
- 表单输入字段随着溢出的文本而增长
- 使用单个文本框向多个字段添加严格搜索
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 使用jQuery的输入字段文本换行
- 向使用jQuery加载DOM后添加的字段添加不受限制的文本输入DatePickers
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 模拟文本输入字段上的退格键
- 输入字段中的可持续文本
- 未获取文本输入字段的值
- 没有文本安全性的密码字段
- 将禁用的输出字段更改为带前缀的文本
- 为什么 react 将输入[类型=“文本”] 字段设为只读,除非我提供 onChange 回调
- 使用SAPUI5中的“文本”字段显示正确的“日期”
- Kendo,如何将MVVM文本:字段绑定到远程DataSource