2012-03-30 52 views
1

我在刷新頁面時遇到問題。 我正在使用HTMLUNIT.I使用WebClient和HTMLPAge來訪問資源。如何使用HTMLUNIT Java進行HtmlPage刷新?

com.gargoylesoftware.htmlunit.WebClient 
com.gargoylesoftware.htmlunit.HtmlPage 


WebClient webClient = new WebClient() 
webClient.setJavaScriptEnabled(true) 
HtmlPage page = (HtmlPage)webClient.getPage(resource) 

我需要刷新頁面才能從資源中獲取新數據。 我試圖清除緩存webClient.getCache()。clear(); 也試圖與

HtmlPage page = (HtmlPage)webClient.getPage(resource)`. 

我從資源得到相同的以前的數據再次訪問該資源。 我是初學者,任何人都可以請指導我如何做到這一點。

感謝, 娜迦

回答

2

我在幾個月前也有類似的問題,我沒有通過清除緩存解決它。確保你使用了適當的變量。給這個代碼一試(糾正語法錯誤):

public static HtmlPage myGetPage(WebClient webClient, String url, 
    boolean clearCache) throws Exception { 
    if (clearCache) { 
     webClient.getCache().clear(); 
    } 
    return webClient.getPage(url); 
} 

public void myMethod() { 
    WebClient webClient = new WebClient(); 
    webClient.setJavaScriptEnabled(true); 
    String url = "http://stackoverflow.com/users/268273"; 
    HtmlPage page = myGetPage(webClient, url, false); // We don't clear de cache 
    System.out.println(page.asXml()); // Should return original value 
    page = myGetPage(webClient, url, true); // We clear the cache 
    System.out.println(page.asXml()); // Should return the new value 
} 

PS:當然,用你的網址:)

+0

我試過清除緩存,它沒有爲我工作:(有沒有什麼辦法可以實現這個目標? – Naga 2012-03-30 23:05:40

3

你試試這個簡單的一個?

page.refresh();

應該做的工作。