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); } }
/// <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); }
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); }