如何设置值并按网页上的按钮?

时间:2017-03-02 09:31:42

标签: java

我想创建一个cron作业,每周执行一次.jar。这个jar应该查询MySQL服务器并保存值。这是我可以轻松完成的简单部分。但现在我需要打开一个网页并在文本框中输入2个值,然后按一个按钮。可以在不需要GUI的情况下完成吗?是否有可能用纯java实现这一点?如果是,有关如何插入值的任何建议?哪个库可以简化该任务?提前致谢。 (如果可能,我宁愿不使用库)。我必须输入这两个文本字段,然后按下send test email to按钮

This is how the website looks like

或者PHP脚本会更适合这个吗?

网页代码:

<body>
<form id="j_id2" name="j_id2" method="post" action="/SchnitzelDB/app/mail;jsessionid=BCF1C0890EE83C0C7A4B7B916F4360A2?execution=e1s4" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="j_id2" value="j_id2" />
<table>
<tbody>
<tr>
<td><input type="text" name="j_id2:j_id4" value="9" /></td>
<td><input type="submit" name="j_id2:j_id5" value="Send Email" /></td>
</tr>
<tr>
<td><input type="text" name="j_id2:j_id6" value="email" style="width:200px;" /></td>
<td><input type="submit" name="j_id2:j_id7" value="Send Test Email To" /></td>
</tr>
</tbody>
</table>
<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="e1s4" />
</form>
</body>

1 个答案:

答案 0 :(得分:0)

所以我google了一下,找到了更适合我的问题的东西。它是htmlunit。它非常容易访问网页上的内容,并用值或点击按钮填充它们。

final HtmlForm form = page.getFormByName("j_id2");
final HtmlTextInput textField = form.getInputByName("j_id2:j_id4");
final HtmlTextInput textField1 = form.getInputByName("j_id2:j_id6");

final HtmlSubmitInput button = form.getInputByName("j_id2:j_id5");
for (String s : list) {
    textField.setValueAttribute(String.valueOf(week));
    textField1.setValueAttribute(s);
    button.click();
}

这是我为了达到理想行为而必须做的一切