如何使用java单击网页上的超链接而不在浏览器中打开网页

如何使用java单击网页上的超链接而不在浏览器中打开网页,java,html,hyperlink,Java,Html,Hyperlink,因此,我正在尝试制作一个文件下载程序,它将根据超链接所说的内容或所谓的内容下载文件。我如何在java中单击超链接 我试图找到最简单的方法来做这件事没有打开一个网页 另外,我也尝试不使用java脚本,因为我不控制我只想从中下载的站点 这是我一直在尝试的东西,但我不断得到错误403。我该如何解决这个问题 注意:这确实使用了JSoup库 jSoup库是一个HTML解析器/刮刀,但它不与网页交互。如果要单击链接或以其他方式与网页交互,则需要使用模拟web浏览器的库,例如 例如,下面的代码将单击HTMLU

因此,我正在尝试制作一个文件下载程序,它将根据超链接所说的内容或所谓的内容下载文件。我如何在java中单击超链接

我试图找到最简单的方法来做这件事没有打开一个网页

另外,我也尝试不使用java脚本,因为我不控制我只想从中下载的站点

这是我一直在尝试的东西,但我不断得到错误403。我该如何解决这个问题

注意:这确实使用了JSoup库


jSoup库是一个HTML解析器/刮刀,但它不与网页交互。如果要单击链接或以其他方式与网页交互,则需要使用模拟web浏览器的库,例如

例如,下面的代码将单击HTMLUnit主页上的主页链接。这段代码根据name属性搜索特定的锚HTML链接,但是还有其他方法根据各种条件搜索其他类型的元素。有关更多详细信息,请参阅文档

public void testHomePage() throws Exception { 
    final WebClient webClient = new WebClient(); 
    final URL url = new URL("http://htmlunit.sourceforge.net"); 

    final HtmlPage page = (HtmlPage)webClient.getPage(url); 

    HtmlAnchor anchor = page.getAnchorByName("Home"); 
    anchor.click();
}

如果希望使用jSoup的分析功能,您仍然可以将HTMLUnit与jSoup结合使用。在HTMLUnit中加载页面后,可以将HTML作为字符串传递给jSoup的解析方法。

出于某种原因,HTMLAnchor anchor=page.getAnchorByNameHome中的HTMLAnchor;正在获取错误,无法找到符号。我该怎么办?我在这台计算机上没有java设置,但这可能是一个导入问题。你导入com.gargoylesoftware.htmlunit.html.HtmlAnchor了吗?好了,现在它工作了,是HtmlAnchor上的大写字母,html不需要它们。但现在有一个错误
public void testHomePage() throws Exception { 
    final WebClient webClient = new WebClient(); 
    final URL url = new URL("http://htmlunit.sourceforge.net"); 

    final HtmlPage page = (HtmlPage)webClient.getPage(url); 

    HtmlAnchor anchor = page.getAnchorByName("Home"); 
    anchor.click();
}