Java HtmlUnit-获取href属性时出错

Java HtmlUnit-获取href属性时出错,java,htmlunit,Java,Htmlunit,我想使用htmlUnit从网页获取链接 这是我的密码: String url = "https://farmaci.agenziafarmaco.gov.it/bancadatifarmaci/farmaco?farmaco=012745"; try { java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);

我想使用htmlUnit从网页获取链接

这是我的密码:

String url = "https://farmaci.agenziafarmaco.gov.it/bancadatifarmaci/farmaco?farmaco=012745";
       try {
             java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF); 

            final WebClient webClient = new WebClient();
            WebClientOptions wco = webClient.getOptions();
             wco.setUseInsecureSSL(true);
            final HtmlPage page = webClient.getPage(url);

            final HtmlElement list = page.getHtmlElementById("link_FI");

        System.out.println(list.toString());
        }catch(Exception e){
            e.printStackTrace();

        }
我想获得“foglio插图pdf”的链接。在html代码中导航(使用chrome的函数inspect code),它位于id为“link_FI”的标记“a”内。但是运行上面的代码时,href标记为空。结果是:

HtmlAnchor[<a id="link_FI" href="#" title="Foglio Illustrativo">] 
HtmlAnchor[]

但是href不是空的。为什么???

网站稍后将从服务器加载一些内容,并修改您正在查询的链接。如果您的web客户端没有执行所有javascript,则HREF很可能是空的

在浏览器中禁用javascript并加载页面。您正在查看的锚定标记如下所示:

<div id="link_FI_div">
    <a id="link_FI" href="#" title="Foglio Illustrativo">
        <div style="display:inline-block;">
        <div style="display:inline-block;position:relative;top:8px;">
    </a>
</div>

解决这个问题并不容易,我建议您使用支持Javascript的成熟浏览器,并使用它抓取页面。似乎
javafx.scene.web.WebView应该做你想做的事情,它应该包含适当的JavaScript支持并包装Webkit——但我从来没有使用过它


HtmlUnit也是如此,它说,它支持您应该寻找的Javscript需求,但我不能为您提供一个示例。对不起。

好的,谢谢,我明白原因了。我怎样才能解决它?