public static WatiN_IE refresh(this WatiN_IE ie) { if (ie.url().valid()) { ie.open(ie.url()); } return(ie); }
public static string formatJsCode(this WatiN_IE ie, string codeToFormat) { if (ie.url().not_Equal("about:blank")) { "opening ABOUT:Blank".info(); ie.open("about:blank"); } else { "already in ABOUT:Blank".info(); } if (ie.js_FunctionExists("js_beautify").isFalse()) { var jsBeautify = @"beautify.js".local(); ie.eval(jsBeautify.fileContents()); if (ie.js_FunctionExists("js_beautify")) { "Injected beautify.js into about:blank".info(); } else { "Failed to Inject js_beautify code".error(); } } "formating Javascript with size: {0}".info(codeToFormat.size()); ie.setJsObject(codeToFormat); ie.eval("window.external.setJsObject(js_beautify(_jsObject))"); var result = ie.getJsObject().str().fix_CRLF(); // "formated Javascript has size: {0}".info(result.size()); return(result); }
public static WatiN_IE.ToCSharp injectJavascriptFunctions(this WatiN_IE ie, bool resetHooks) { if (ie.WebBrowser.isNull()) { "in InjectJavascriptFunctions, ie.WebBrowser was null".error(); } else { if (ie.WebBrowser.ObjectForScripting.isNull() || resetHooks) { ie.WebBrowser.ObjectForScripting = new WatiN_IE.ToCSharp(); "Injecting Javascript Hooks * Functions for page: {0}".debug(ie.url()); ie.eval("var o2Log = function(message) { window.external.write(message) };"); ie.invokeScript("o2Log", "Test from Javascript (via toCSharp(message) )"); ie.eval("$o2 = window.external"); "Injection complete (use o2Log(...) or $o2.write(...) to talk back to O2".info(); return(ie.WebBrowser.ObjectForScripting as WatiN_IE.ToCSharp); } else { if ((ie.WebBrowser.ObjectForScripting is WatiN_IE.ToCSharp)) { return(ie.WebBrowser.ObjectForScripting as WatiN_IE.ToCSharp); } else { "in WatiN_IE injectJavascriptFunctions, unexpected type in ie.WebBrowser.ObjectForScripting: {0}".error(ie.WebBrowser.ObjectForScripting.typeName()); } } } return(null); }
public static WatiN_IE show_Formated_Javascript(this WatiN_IE ie, WatiN_IE temp_ie, string codeToFormat) { var prettifyHtml = @"prettify.htm".local(); if (prettifyHtml.fileExists().isFalse()) { return(ie); } if (ie.url().isNull() || ie.url().contains("prettify.htm").isFalse()) { ie.open(prettifyHtml); } var formatedJsCode = (temp_ie.isNull()) ? ie.HostControl.formatJsCode(codeToFormat) : temp_ie.formatJsCode(codeToFormat); var codeDiv = ie.div("codeDiv"); codeDiv.innerHtml("<pre id=\"code\" class=\"prettyprint\">{0}</pre>".format(formatedJsCode)); ie.invokeScript("prettyPrint"); return(ie); }
public static bool url(this WatiN_IE watinIe, string url) { return(watinIe.url() == url); }
public static bool noPageLoaded(this WatiN_IE watinIe) { return(watinIe.url().isUri().isFalse() || watinIe.url() == "about:blank"); }