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