一、获取iframe内联框架的内容
java代码:
页面内容:
二、管理cookie
//2.设置连接的相关选项
webClient.getOptions().setThrowExceptionOnScriptError(false);//当JS执行出错的时候是否抛出异常
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);//当HTTP的状态非200时是否抛出异常
webClient.getOptions().setActiveXNative(false);
webClient.getOptions().setCssEnabled(false);//是否启用CSS
webClient.getOptions().setJavaScriptEnabled(true); //很重要,启用JS
webClient.getCookieManager().setCookiesEnabled(true);//开启cookie管理
// 3 启动客户端重定向
// webClient.getOptions().setRedirectEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());//很重要,设置支持AJAX
webClient.getOptions().setTimeout(1000*60);//设置“浏览器”的请求超时时间
webClient.setJavaScriptTimeout(1000*60);//设置JS执行的超时时间
webClient.waitForBackgroundJavaScript(1000*60);//异步JS执行需要耗时,所以这里线程要阻塞60秒,等待异步JS执行结束
//3.抓取页面
HtmlPage page = null;
try {
page = webClient.getPage(url);
CookieManager CM = webClient.getCookieManager(); //WC = Your WebClient's name
Set<Cookie> cookies = CM.getCookies();//返回的Cookie在这里,下次请求的时候可能可以用上啦。
//设置cookie。如果你有cookie,可以在这里设置
// Set<Cookie> cookies=null;
for (Cookie cookie : cookies) {
/* webClient.getCookieManager().addCookie(cookie);
System.out.println(">>>>>>>>>>>"+cookie.getName());*/
//Cookie cookie2 = webClient.getCookieManager().getCookie(cookie.getName());
System.out.println(">>>>>>>>>>>>>>1231231>>>"+cookie.getName());
System.out.println(">>>>>>>>>values>>>"+cookie.getValue());
}
} catch (FailingHttpStatusCodeException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}