如何使用Java在Selenium WebDriver的隐藏字段中键入一些文本

我使用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");

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...