Beispiel #1
0
        public static string GetElementTitle(Dictionary <string, object> attributes)
        {
            try
            {
                if (attributes.ContainsKey("innerText"))
                {
                    attributes.TryGetValue("innerText", out ElementTitle);
                }
                else if (attributes.ContainsKey("name"))
                {
                    attributes.TryGetValue("name", out ElementTitle);
                }
                else if (attributes.ContainsKey("title"))
                {
                    attributes.TryGetValue("title", out ElementTitle);
                }
                else if (attributes.ContainsKey("class"))
                {
                    attributes.TryGetValue("class", out ElementTitle);
                }
                else
                {
                    ElementTitle = "Element";
                }

                return(ElementTitle.ToString());
            }
            catch (Exception)
            {
                return(null);
            }
        }
Beispiel #2
0
        /// <summary>
        /// In String konvertieren unter Zuhilfenahme eines StringBuilder
        /// </summary>
        /// <param name="builder">Der StringBuilder</param>
        /// <param name="deep">Die Aufrufstiefe</param>
        public override void ToString(StringBuilder builder, int deep)
        {
            ToPreString(builder, deep);

            if (!string.IsNullOrWhiteSpace(Title))
            {
                ElementTitle.ToString(builder, deep + 1);
            }

            if (!string.IsNullOrWhiteSpace(Favicon))
            {
                ElementFavicon.ToString(builder, deep + 1);
            }

            foreach (var v in ElementStyles)
            {
                v.ToString(builder, deep + 1);
            }

            foreach (var v in ElementScriptLinks)
            {
                v.ToString(builder, deep + 1);
            }

            foreach (var v in ElementScripts)
            {
                v.ToString(builder, deep + 1);
            }

            foreach (var v in ElementCssLinks)
            {
                v.ToString(builder, deep + 1);
            }

            foreach (var v in ElementMeta)
            {
                v.ToString(builder, deep + 1);
            }

            ToPostString(builder, deep, true);
        }
Beispiel #3
0
        public static string GetElementAttributes(IWebElement element)
        {
            ElementOperated = "";
            IJavaScriptExecutor         JScriptDriver = (IJavaScriptExecutor)driver;
            Dictionary <string, object> attributes    = JScriptDriver.ExecuteScript("var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;", element) as Dictionary <string, object>;

            GetElementTitle(attributes);
            objectAttributes = "";
            foreach (var item in attributes)
            {
                if (!item.Value.Equals(""))
                {
                    if (!objectAttributes.Equals(""))
                    {
                        objectAttributes = objectAttributes + "\r" + item.Key + " : " + item.Value;
                    }
                    else
                    {
                        objectAttributes = item.Key + " : " + item.Value;
                    }
                }
            }
            //Added few formatting for the Extent Reporting.
            ElementOperated = "<lable class ='dropdown-toggle' data-toggle='dropdown' data-placement='top' title='" + objectAttributes + "'><u><b>" + ElementTitle.ToString() + "</b></u></lable>";
            return(ElementOperated);
        }