Htmlunit按钮不会提交?

时间:2014-01-05 19:07:22

标签: java htmlunit

public void actionVote() {
    HtmlForm form = this.page.getForms().get(0);
    HtmlInput button = form.getInputByValue("vote");
    try {
        button.click();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

当我使用button.asText()进行println时,它会给我正确的提交按钮值,但是当我执行button.click时,没有任何反应,就像它没有提交表单一样。

我无法使用HtmlButton获取按钮,因为提交按钮没有任何ID或名称。 我也无法从HtmlInput中创建HtmlButton。

为什么不提交?错误的元素?

2 个答案:

答案 0 :(得分:0)

试试这个 - getInputByName getButtonByName

HtmlForm form = this.page.getForms().get(0);
HtmlInput button = form.getInputByName("vote");

或者你也可以创建一个假按钮:

HtmlElement fakeButton = page.createElement("button");
button.setAttribute("type", "submit");

// add the button to the form
form.appendChild(fakeButton );
fakeButton.click();

答案 1 :(得分:0)

您可以尝试下面的代码:

HtmlForm form = page.getForms().get(0);

HtmlElement input = form.getElementsByAttribute("input", "name", "vote").get(0);

page =  input.click();