Java HTML表单客户端



我正在寻找一个纯Java html客户端库。我需要检索html表单,填写字段并以编程方式提交它们。

库应该连接到一个网站作为浏览器,处理cookie,解析文档的表单和解决表单提交的麻烦自己。

在过去,我使用Apache HttpClient,但它不够简单,因为我要负责解析文档和处理cookie。

您可能正在寻找HtmlUnit——一个" Java程序的GUI-Less浏览器"

下面是一个示例代码,它打开google.com,使用表单搜索"htmlunit"并打印结果的数量。

import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.html.*;
public class HtmlUnitFormExample {
    public static void main(String[] args) throws Exception {
        WebClient webClient = new WebClient();
        HtmlPage page = webClient.getPage("http://www.google.com");
        HtmlInput searchBox = page.getElementByName("q");
        searchBox.setValueAttribute("htmlunit");
        HtmlSubmitInput googleSearchSubmitButton = 
                          page.getElementByName("btnG"); // sometimes it's "btnK"
        page=googleSearchSubmitButton.click();
        HtmlDivision resultStatsDiv =
                                page.getFirstByXPath("//div[@id='resultStats']");
        System.out.println(resultStatsDiv.asText()); // About 301,000 results
        webClient.closeAllWindows();
    }
}

试试Lobo,一个纯Java web浏览器。它有一个API将其嵌入到程序中。

如果你只想要HTML(和CSS等)渲染引擎,你可以直接使用它的引擎

最新更新