刷新页面时遇到问题。 我正在使用HTMLUNIT。我使用WebClient和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)`.
我从资源获得相同的先前数据。 我是初学者,任何人都可以指导我如何做到这一点。
谢谢, 纳加
答案 0 :(得分:3)
page.refresh();
应该做的工作。
答案 1 :(得分: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:当然,请使用您的网址:)