/// <summary> /// Searches all elements for the an element that matches the provided value. /// /// The value returned is the first match, and the search order is: /// - Html Tag name /// - id attribute /// - innerHtml /// </summary> /// <param name="watinIe"></param> /// <param name="value"></param> /// <returns></returns> public static Element element(this WatiN_IE watinIe, string value) { if (watinIe.isNull() || value.notValid()) { return(null); } var element_by_Tag = watinIe.elements().with_TagName(value); if (element_by_Tag.notNull()) { return(element_by_Tag); } var element_by_Id = watinIe.elements().with_Id(value); if (element_by_Id.notNull()) { return(element_by_Id); } var element_by_InnerText = watinIe.elements().with_InnerText(value); if (element_by_InnerText.notNull()) { return(element_by_InnerText); } return(null); }
public static List <T> elements <T>(this WatiN_IE watinIe) where T : Element { return((from element in watinIe.elements() where element is T select(T) element).toList()); }
public static Panel showElementsInTreeView(this WatiN_IE watinIe) { var hostPanel = O2Gui.open <Panel>("WatiN element details", 400, 400); var controls = hostPanel.add_1x1("Html elements", "Propeties"); var propertyGrid = controls[1].add_PropertyGrid(); controls[0].add_TreeView() .add_Nodes(watinIe.elements().indexedByTagName()) .sort() .showSelection() .beforeExpand <List <Element> >( (treeNode, elements) => { try { treeNode.add_Nodes(elements); } catch (Exception ex) { ex.log("in beforeExpand<List<Element>>"); } }) .afterSelect <Element>((element) => propertyGrid.show(element)) .afterSelect <List <Element> >((elements) => propertyGrid.show(elements[0])); return(hostPanel); }
public static Element element(this WatiN_IE watinIe, string id) { return(watinIe.elements().id(id)); }
public static T element <T>(this WatiN_IE watinIe, string id) where T : Element { return(watinIe.elements().id <T>(id)); }
public static List <Element> elements(this WatiN_IE watinIe, string tagName) { return(watinIe.elements().elements(tagName)); }