HTMLUnit 认为 Submit Button 是一个文本输入
HTMLUnit thinks Submit Button is a text input
我正在尝试使用 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>
我四处搜索并尝试了许多不同的方法来检索元素,但它始终returns HtmlTextInput 而不是 HtmlSubmitInput。
form.getInputByName("Submit").click();
我也试过用每种类型的输入处理一个表单,不管是什么类型,它总是 returns HtmlTextInput。
有人见过这个问题或知道如何解决吗?我担心这就是 HtmlUnit 不提交任何表单的原因。
您可以提交带有基础对象的表单,如 DomElement。
DomElement button = page.getFirstByXPath("//input[@name='Submit']");
HtmlPage new_page = button.click(); // or you can use the old page
应该可以。
我正在尝试使用 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>
我四处搜索并尝试了许多不同的方法来检索元素,但它始终returns HtmlTextInput 而不是 HtmlSubmitInput。
form.getInputByName("Submit").click();
我也试过用每种类型的输入处理一个表单,不管是什么类型,它总是 returns HtmlTextInput。
有人见过这个问题或知道如何解决吗?我担心这就是 HtmlUnit 不提交任何表单的原因。
您可以提交带有基础对象的表单,如 DomElement。
DomElement button = page.getFirstByXPath("//input[@name='Submit']");
HtmlPage new_page = button.click(); // or you can use the old page
应该可以。