【问题标题】:Submit form without button in selenium在 selenium 中提交没有按钮的表单
【发布时间】:2020-08-11 13:32:51
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 试试
  • 不幸的是,设置文本字段的类型并不能帮助 selenium 找到表单的“提交”元素(在这种情况下甚至不存在)。

标签: java selenium-webdriver htmlunit-driver


【解决方案1】:

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

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

现在 send()-Method 可以找到 submit-Element。

【讨论】:

    【解决方案2】:

    你也试过

    .sendKeys(Keys.RETURN)
    

    而不是.ENTER?

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

    【讨论】:

    • 我刚做了,但结果一样:Cannot locate element used to submit form
    • 那么您只是缺少一个&lt;input type="submit"/&gt;,它可以在没有按钮的情况下输入值。
    • 这正是我在下面发布的答案中所做的。但在我看来,这只是一种解决方法,应该可以不用。或者也许硒是不可能的。
    猜你喜欢
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多