1

我正在开发一个 JAVA SWING 应用程序,当我单击一个按钮时,我希望它打开一个浏览器页面,其中 HTML 表单字段已完全填充(包含我想从 JAVA 应用程序传递的数据),明白吗?

在这一刻,我正在使用 HtmlUnit 库,但如果你知道更好的东西,我愿意接受建议!

这就是我所拥有的:

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”。

请帮帮我...

4

2 回答 2

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 搜索 URL 参数 - 查询字符串剖析

于 2012-07-13T12:31:20.677 回答
1

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

使用Selenium控制外部 Web 浏览器。

于 2012-07-13T11:39:46.380 回答