HTMLUnit认为提交按钮是文本输入

时间:2015-07-29 19:51:30

标签: java htmlunit

我正在尝试使用HtmlUnit处理Java中的表单。它工作正常,直到它试图找到并单击提交按钮。

这是表格的样子,

<form method="get" action="result.php">
    <p>Text: <input type="text" name="text"/></p>
    <p>Agree: <input type="checkbox" name="doYouAgree" value="agree" /></p>
    <p><input type="submit" name="Submit" value="Submit"/></p>
</form>

我搜索了许多不同的方法来检索元素,但它始终返回HtmlTextInput而不是HtmlSubmitInput。

form.getInputByName("Submit").click();

我也尝试使用每种类型的输入处理表单,无论它总是返回HtmlTextInput的类型。

有没有人看过这个问题或者知道如何纠正它?我担心这就是HtmlUnit没有提交任何表格的原因。

1 个答案:

答案 0 :(得分:1)

您可以提交带有基础对象的表单,如DomElement。

DomElement button = page.getFirstByXPath("//input[@name='Submit']");
HtmlPage new_page = button.click(); // or you can use the old page

应该有用。