首页 文章

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

提问于
浏览
12

我正在使用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秒

有人可以帮我在隐藏字段中写/输入一些文字吗?

2 回答

  • 2

    首先,您必须将type属性的值更改为hidden中的文本 . 使用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");
    
  • 20
    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);
    

相关问题