我正在使用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
}