在硒中提交没有按钮的表单

Submit form without button in selenium

在我要测试的页面上,我有一个这样的表单:

<form method="post" action="target.html">
    <input id="myInputField" />
</form>

这里的一个正常用例是用户输入一些文本然后按回车键。 为了进行测试,我尝试发送特殊键“enter”,但这会导致异常:

org.openqa.selenium.WebDriverException: Cannot locate element used to submit form

有没有办法在没有按钮的情况下提交表单?我正在使用 HtmlUnitDriver 进行无头测试。

通过一些变通方法,我让它工作了: 创建提交按钮但将显示设置为 none 就可以了。但我仍在寻找更好的解决方案

<form ...>
...
<input type="submit" style="display:none" />
...
</form>

现在 send()-方法可以找到 submit-Element.

你有没有试过

.sendKeys(Keys.RETURN)

而不是.ENTER

如果这不起作用,我认为 is the best way or take a look at this!