2012-03-30 18 views
1

私はページをリフレッシュする際に問題に直面しています。 私はHTMLUNITを使用しています.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:もちろん、あなたのURLを使用:)

+0

私はキャッシュをクリアしようとしましたが、それは私にとってはうまくいきませんでした。 – Naga

3

あなたはこの単純な1を試したのですか?

page.refresh();

は、作業を行う必要があります。

関連する問題