Keys.ENTER和Keys.RETURN无法在Selenium Java中正确提交<input />

时间:2015-03-25 06:25:37

标签: java selenium

我试图通过添加&#34; todo&#34;来测试输入字段。然后按回车,因为没有提交按钮,但我一直得到一个&#34;无法找到包含表单错误&#34;

爪哇:

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>

2 个答案:

答案 0 :(得分:0)

我将WebDriver driver = new HtmlUnitDriver();更改为WebDriver driver = new FirefoxDriver();,现在可以正常工作了。花了2个小时来解决这个问题,并且真的不知道为什么这是一个解决方案。

答案 1 :(得分:0)

共享的html中没有表单,如果没有表单中的元素,我们将无法提交。它只是一个文本字段,您可以在其中输入值,并且不会提交或按Enter键。