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。
为什么不提交?错误的元素?
答案 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();