我正在寻找一个纯Java html 客户端库。我需要检索 html 表单、填写字段并以编程方式提交它们。
图书馆应该连接到一个充当浏览器的网站,处理cookie,解析文档的表单并自行解决表单提交的麻烦。
以前我使用过Apache HttpClient,但是不够简单,因为我负责解析文档并处理cookie。
最佳答案
您可能正在寻找HtmlUnit -- “Java 程序的无 GUI 浏览器”。
下面是打开 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();
}
}
关于Java HTML 表单客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16379630/