我正在使用Web客户端获取页面源。第一次我获得页面源。在我使用相同的对象获取不同URL的页面源之后,它显示一个异常,如:
java.lang.ClassCastException: com.gargoylesoftware.htmlunit.UnexpectedPage cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlPage
这是我正在使用的代码。
HtmlPage firstPage = webClient.getPage("firsturl");
HtmlPage downloadPage = null;
try {
webClient.setJavaScriptEnabled(true);
downloadPage = (HtmlPage) webClient.getPage("secondurl");
} catch (Exception e) {
e.printStackTrace();
}
提前Thx
最佳答案
说得很清楚,您的代码正在执行:
downloadPage = (HtmlPage) webClient.getPage("secondurl");
因此,您假设您正在获取
HtmlPage
类型的对象,但是实际上您正在获取类型为的对象UnexpectedPage
。您应该添加instanceof的检查:
If (webClient.getPage("secondurl") instanceof HtmlPage){
downloadPage = (HtmlPage) webClient.getPage("secondurl");
}
else{
//do something
}