package org.sky.auto.page.source; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class PageHtml extends HttpHtml{ private String url; public PageHtml(String url){ this.url=url; } @Override public String getContext() { Response response = new Response(this.url); String content= response.getContent(); response.abort(); response.closeResponse(); return content; } @Override public List<String> getCssLink() { List<String> csslist = new ArrayList<String>(); Document dc = Jsoup.parse(getContext()); Elements es = dc.select("link"); Iterator<Element> iter = es.iterator(); while(iter.hasNext()){ Element e = iter.next(); csslist.add(e.attr("href")); } return csslist; } @Override public List<String> getJavaScriptURL() { List<String> jslist = new ArrayList<String>(); Document dc = Jsoup.parse(getContext()); Elements es = dc.select("script"); Iterator<Element> iter = es.iterator(); while(iter.hasNext()){ Element e = iter.next(); jslist.add(e.attr("src")); } return jslist; } public String getUrl() { return url; } /**设置需要访问的url*/ public void setUrl(String url) { this.url = url; } /**得到指定js的加载时间*/ public long getJavaScriptLoadTime(String name){ Response response = new Response(getUrl()); for(String js:getJavaScriptURL()){ if(js.endsWith(js)){ long time=response.getPageLoadTime(); response.closeResponse(); return time; } } return 0; } /**返回head头信息中的css的所有引用*/ public List<String> getHeadCssLinks(){ List<String> headercss = new ArrayList<String>(); String headerContent = getContext().substring(getContext().indexOf("<head>"), getContext().indexOf("</head>")); Document dc = Jsoup.parse(headerContent); Elements es = dc.select("link"); Iterator<Element> iter = es.iterator(); while(iter.hasNext()){ Element e = iter.next(); headercss.add(e.attr("src")); } return headercss; } }