我正在开发一个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浏览器。
请帮助我......
答案 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
}