public static ctrl_TableList add_Jint_Stats_Row(this ctrl_TableList tableList, int index, string url, string html, HtmlAgilityPack.HtmlDocument htmlDocument, List <KeyValuePair <string, string> > javaScripts) { var links = htmlDocument.select("//a"); var images = htmlDocument.select("//img"); var forms = htmlDocument.select("//form"); var allJavaScriptsCompileOk = javaScripts.allJavaScriptsCompileOk(); var allJavaScriptCompiledAst = javaScripts.jint_Compile(); var sizeOfJointJavaScripts = javaScripts.getStringWithJointJavascripts().size(); //var scripts = htmlDocument.select("//script"); tableList.add_Row( "{0:00}".format(index), //(mapped++).str(), url, "{0:000}".format(links.size()), "{0:000}".format(images.size()), "{0:000}".format(forms.size()), "{0:000}".format(javaScripts.size()), allJavaScriptsCompileOk.str(), "{0:0000}".format(allJavaScriptCompiledAst.functions().size()), "{0:0000}".format(allJavaScriptCompiledAst.values().size()), sizeOfJointJavaScripts.kBytesStr(), javaScripts.totalValueSize().kBytesStr(), html.size().kBytesStr() ); tableList.lastRow().textColor((allJavaScriptsCompileOk) ? Color.DarkGreen : Color.DarkRed); return(tableList); }
public static List <KeyValuePair <string, string> > javaScripts(this HtmlAgilityPack.HtmlDocument htmlDocument, Uri baseUri) { var javaScripts = new List <KeyValuePair <string, string> >(); var scripts = htmlDocument.select("//script"); foreach (var script in scripts) { var srcAttribute = script.Attributes["src"]; if (srcAttribute.notNull()) { var link = srcAttribute.Value; link = link.starts("/") ? "{0}{1}".format(baseUri.hostUrl(), link) : link; var scriptCode = link.uri().getHtml(true); javaScripts.add("{0} (size: {1:0.00} k )".format(link, scriptCode.size().kBytes()), scriptCode); } var scriptValue = script.value(); if (scriptValue.valid()) { javaScripts.add("Inside ScriptBlock (size: {0:0.00} k )".format(scriptValue.size().kBytes()), scriptValue); } } return(javaScripts); }
public static List <HtmlAgilityPack.HtmlNode> links(this HtmlAgilityPack.HtmlDocument htmlDocument) { return(htmlDocument.select("//a")); }
public static List <HtmlAgilityPack.HtmlNode> filter(this HtmlAgilityPack.HtmlDocument htmlDocument, string query) { return(htmlDocument.select(query)); }