您可能正在寻找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 309,000 results
webClient.closeAllWindows();
}
}
其他选项包括:
- Selenium : 会打开像 Firefox 这样的浏览器并进行操作。
- Watij:也将打开一个浏览器,但在它自己的窗口中。
- Jsoup:很好的解析器。不过,没有 JavaScript。