Example #1
0
        public string CreateJavaScriptFireEventCode(NameValueCollection eventObjectProperties, string eventName)
        {
            var scriptCode = new StringBuilder();

            scriptCode.Append("var newEvt = document.createEventObject();");

            CreateJavaScriptEventObject(scriptCode, eventObjectProperties);

            var reference = _ieElement.GetJavaScriptElementReference();

            scriptCode.Append(string.Format("{0}.fireEvent('{1}', newEvt);", reference, eventName));

            return(scriptCode.ToString());
        }
        public IEnumerable <INativeElement> GetElementsWithQuerySelector(ICssSelector selector, DomContainer domContainer)
        {
            var container = "document";

            if (_element != null)
            {
                var elementTag = new ElementTag(_element.TagName);
                if (elementTag.Equals(new ElementTag("frame")) || elementTag.Equals(new ElementTag("iframe")))
                {
                    var frameHierarchy = _element.GetAttributeValue("data-watinFrameHierarchy");
                    container = frameHierarchy + ".document";
                }
                else
                {
                    var document = _element.AsHtmlElement.document;
                    var result   = new Expando(document).GetValue <string>("___WATINFRAMEHIERARCHY");

                    container = "";
                    if (result != null)
                    {
                        container = result;
                    }

                    if (!string.IsNullOrEmpty(container))
                    {
                        container += ".";
                    }

                    container += _element.GetJavaScriptElementReference();
                }
            }
            else
            {
                //container = CreateArray();
            }

            domContainer.RunScript(new ScriptLoader().GetSizzleInstallScript());

            var code = string.Format("document.___WATINRESULT = Sizzle('{0}', {1});", selector.Selector(true), container);

            domContainer.RunScript(code);

            return(new JScriptElementArrayEnumerator((IEDocument)domContainer.NativeDocument, "___WATINRESULT"));
        }
Example #3
0
        public IEnumerable <INativeElement> GetElementsWithQuerySelector(string selector, DomContainer domContainer)
        {
            domContainer.RunScript(new ScriptLoader().GetSizzleInstallScript());
            var container = "document";

            if (_element != null)
            {
                container = _element.GetJavaScriptElementReference();
                if (new ElementTag(_element.TagName).Equals(new ElementTag("frame")))
                {
                    container = container + ".contentDocument";
                }
            }

            var code = string.Format("document.___WATINRESULT = Sizzle('{0}', {1});", selector, container);

            domContainer.RunScript(code);

            return(new JScriptElementArrayEnumerator((IEDocument)domContainer.NativeDocument, "___WATINRESULT"));
        }