[英]HtmlUnit - error getting href attribute
我想使用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 illustrativo pdf”的鏈接。 在html代碼中導航(帶有chrome功能檢查代碼),該代碼位於ID為“ link_FI”的標簽“ a”內。 但是運行上面的代碼,href標記為空。 結果是這樣的:
HtmlAnchor[<a id="link_FI" href="#" title="Foglio Illustrativo">]
但href不是空的。 為什么??
該網站稍后會從服務器加載一些內容,並修改您正在查詢的鏈接。 如果您的網絡客戶端未執行所有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需求,但我無法為您提供示例。 抱歉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.