我正在尝试使用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没有提交任何表格的原因。
答案 0 :(得分:1)
您可以提交带有基础对象的表单,如DomElement。
DomElement button = page.getFirstByXPath("//input[@name='Submit']");
HtmlPage new_page = button.click(); // or you can use the old page
应该有用。