示例#1
0
        public static object getJsObject(this WatiN_IE ie, string jsCommand)
        {
            var toCSharpProxy = ie.injectJavascriptFunctions();

            if (toCSharpProxy.notNull())
            {
                var command = "window.external.setJsObject({0})".format(jsCommand);
                ie.invokeEval(command);
                ie.remapInternalJsObject();
                return(toCSharpProxy.getJsObject());
            }
            return(null);
        }
示例#2
0
        public static bool doesJsObjectExists(this WatiN_IE ie, string jsCommand)
        {
            var toCSharpProxy = ie.injectJavascriptFunctions();

            if (toCSharpProxy.notNull())
            {
                var command = "window.external.setJsObject(typeof({0}))".format(jsCommand);
                ie.invokeEval(command);
                ie.remapInternalJsObject();
                return(toCSharpProxy.getJsObject().str() != "undefined");
            }
            return(false);
        }
示例#3
0
 public static bool js_FunctionExists(this WatiN_IE ie, string functionName)
 {
     ie.injectJavascriptFunctions();
     return((bool)ie.invokeEval("return (typeof {0} == \"function\");".format(functionName)));
 }
示例#4
0
 public static WatiN_IE remapInternalJsObject(this WatiN_IE ie)
 {
     //"setting JS _jsObject variable to getJsObject()".info();
     ie.invokeEval("_jsObject = window.external.getJsObject()"); // creates JS variable to be used from JS
     return(ie);
 }
 public static List <string> javascript_ObjectItems(this WatiN_IE ie, string targetObject)
 {
     return(ie.invokeEval("var result = []; for(var item in " + targetObject + ") result.push(item);return result.toString();").str().split(","));
 }
 public static object javascript_VariableValue(this WatiN_IE ie, string variableName)
 {
     return(ie.invokeEval("return {0}".format(variableName)));
 }