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

问题描述

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

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

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

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

是否可以在不存在按钮的情况下提交表单?我正在用HtmlUnitDriver进行无头测试。

解决方法

通过一些解决方法,我可以正常工作: 创建提交按钮,但将显示设置为无则可以解决问题。但我仍在寻找更好的解决方案

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

现在send()方法可以找到Submit元素。

,

您是否也尝试过

.sendKeys(Keys.RETURN)

而不是.ENTER

如果这不起作用,我认为answer of @fuzzi是最好的方法,或者看看this