Java HTML表单客户端
我正在寻找一个纯Java html客户端库。我需要检索html表单,填充字段并以编程方式提交它们 图书馆应该连接到一个充当浏览器的网站,处理cookies,解析文档的表单,并自行解决表单提交的麻烦 在过去,我使用Apache HttpClient,但它不够简单,因为我负责解析文档和处理cookies。Try,一个纯Java web浏览器。它必须嵌入到程序中 如果您只想使用HTML(和CSS等)渲染引擎,您可以直接使用。Try,纯Java web浏览器。它必须嵌入到程序中 如果您只需要HTML(和CSS等)呈现引擎,您可以直接使用。您可能正在寻找一款“无GUI的Java程序浏览器” 下面是一个示例代码,它打开Java HTML表单客户端,java,html,forms,Java,Html,Forms,我正在寻找一个纯Java html客户端库。我需要检索html表单,填充字段并以编程方式提交它们 图书馆应该连接到一个充当浏览器的网站,处理cookies,解析文档的表单,并自行解决表单提交的麻烦 在过去,我使用Apache HttpClient,但它不够简单,因为我负责解析文档和处理cookies。Try,一个纯Java web浏览器。它必须嵌入到程序中 如果您只想使用HTML(和CSS等)渲染引擎,您可以直接使用。Try,纯Java web浏览器。它必须嵌入到程序中 如果您只需要HTML(和
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();
}
}
您可能正在寻找一种“无GUI的Java程序浏览器”
下面是一个示例代码,它打开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();
}
}
谢谢,我想这正是我需要的,缺点是它有很多依赖性,但它看起来是一个非常好的选择。是的。如果您还没有使用Maven,Maven可以帮助您处理它们(依赖项)。无论如何,如果你需要更多关于HtmlUnit的帮助,请回来,我们很乐意提供帮助。谢谢,我认为这正是我所需要的,缺点是它有很多依赖性,但它看起来是一个非常好的选择。是的。如果您还没有使用Maven,Maven可以帮助您处理它们(依赖项)。无论如何,如果你需要更多关于HtmlUnit的帮助,请回来,我们很乐意提供帮助。Lobo似乎旨在呈现页面,我更喜欢HtmlUnit方法。无论如何,谢谢你的贡献。Lobo似乎旨在呈现页面,我更喜欢HtmlUnit方法。无论如何,谢谢你的贡献。