有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

填写html表单而不提交,只需打开浏览器并填写字段即可。在爪哇

我正在开发一个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

在最后一行,我提交了表单,我希望它打开一个web浏览器,在“searchTxtField”中显示文本:“text VALUE”

请帮帮我


共 (2) 个答案

  1. # 1 楼答案

    由于Java 6,您可以在^{}中使用^{}中的方法。您需要使用一些参数构建一个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

  2. # 2 楼答案

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

    使用Selenium控制外部web浏览器