我试图通过添加" todo"来测试输入字段。然后按回车,因为没有提交按钮,但我一直得到一个"无法找到包含表单错误"
爪哇:
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 :(得分:0)
我将WebDriver driver = new HtmlUnitDriver();
更改为WebDriver driver = new FirefoxDriver();
,现在可以正常工作了。花了2个小时来解决这个问题,并且真的不知道为什么这是一个解决方案。
答案 1 :(得分:0)
共享的html中没有表单,如果没有表单中的元素,我们将无法提交。它只是一个文本字段,您可以在其中输入值,并且不会提交或按Enter键。