2015-03-25 75 views
0

我想通过添加一个“待办事项”,然后按回车测试输入字段,因为没有提交按钮,但我不断收到“无法找到包含窗体的错误”Keys.ENTER和Keys.RETURN没有正确地提交一个<input>在硒Java

的Java:

WebDriver driver = new HtmlUnitDriver(); 
driver.get("http://www.xxxxx.com"); 

//add a todo 
WebElement input = driver.findElement(By.name("todo")); 
input.sendKeys("Get some groceries"); 

//this outputs Get some groceries 
System.out.println("Text: "+ input.getAttribute("value")); 

input.sendKeys(Keys.ENTER);    //exception here 

我也试过input.submit()input.sendKeys(Keys.RETURN),并结合他们input.sendKeys("Get some groceries", Keys.RETURN)但无济于事 - 他们都给出了同样的错误。

HTML:

<html> 
    <head> 
    <title>Todo</title> 
    <link rel="stylesheet" href="build.css"> 
    </head> 
    <body> 
    <section id="content"> 
     <h1>Todo</h1> 
     <p><input type="text" name="todo" placeholder="What needs to be done?"/></p> 
     <div id="links"> 
     <a href="/">all</a> 
     <a href="/complete">complete</a> 
     <a href="/incomplete">incomplete</a> 
     </div> 
     <ul id="todos"></ul> 
    </section> 
    <script src="build.js"></script> 
    <script> 
     require('./client/boot') 
    </script> 
    </body> 
</html> 

回答

0

我改变WebDriver driver = new HtmlUnitDriver();WebDriver driver = new FirefoxDriver();,现在它的工作原理。花了2个小时才弄明白这一点,真的不知道为什么这是一个解决方案。

+0

也许HtmlUnit不理解JavaScript。 – immibis 2015-03-25 06:47:48

0

在共享html中没有任何表单,我们无法提交表单中的元素。它只是一个输入值的文本字段,不会有提交或按Enter键的效果。

+0

对不起,我忘了发布后面的JavaScript,但它听输入键。我无法接受我的答案,但它解决了这个问题。 – zmcrmc 2015-03-25 06:57:38

相关问题