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

07-24 09:47