在没有提交的情况下填写html表单,只需打开填充了字段的浏览器即可。在JAVA

时间:2012-07-13 11:36:28

标签: java html forms browser htmlunit

我正在开发一个JAVA SWING应用程序,当我点击一个按钮时,我希望它打开一个浏览器页面,其中HTML表单字段完全填满(我希望从JAVA应用程序传递的数据),理解?

在这一刻我正在使用HtmlUnit库,但是如果你知道更好的东西,我会对sugestions开放!

这就是我所拥有的:

WebClient webClient = new WebClient();
HtmlPage page1 = webClient.getPage("http://www.google.com");
HtmlForm form = page1.getFormByName("search");
HtmlButton button = form.getButtonByName("submitSearch");
HtmlTextInput textField = form.getInputByName("searchTxtField");
textField.setValueAttribute("TEST VALUE");
HtmlPage page2 = button.click(); //final line

在最后一行我提交表单,而不是那样,我希望它在“searchTxtField”中打开带有文本的“TEXT VALUE”的Web浏览器。

请帮助我......

2 个答案:

答案 0 :(得分:1)

HtmlUnit不控制任何外部Web浏览器。 是一个Web浏览器(没有任何图形用户界面)。

使用Selenium控制外部网络浏览器。

答案 1 :(得分:1)

从Java 6开始,您可以使用public void browse(URI uri) java.awt.Desktop中的方法。您需要使用一些参数构建URI。

try {
    URI uri = new URI("http://www.google.com/#q=TEST+VALUE&oq=TEST+VALUE");
    Desktop desktop = null;
    if (Desktop.isDesktopSupported()) {
        desktop = Desktop.getDesktop();
    }
    if (desktop != null)
        desktop.browse(uri);
} catch (IOException ioe) {
    // log error
}

检查Google Search URL Parameters – Query String Anatomy