/// <summary> /// Gets the item by class. /// </summary> /// <param name="className">Name of the class.</param> /// <param name="stringComparison">The string comparison.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public virtual MenuItemComponent GetItemByClass(string className, StringComparison stringComparison = StringComparison.Ordinal) { var menuItemEl = ItemElements.FirstOrDefault(el => { return(el .FindElements(itemIconSeletor) .Any( iconEl => iconEl.Classes().Any( @class => String.Equals( @class, className, stringComparison)))); }); if (menuItemEl == null) { throw new NoSuchElementException(); } var cssSelector = WrappedDriver.GetCssSelector(menuItemEl); return(pageObjectFactory.PrepareComponent( new MenuItemComponent( cssSelector, pageObjectFactory, WrappedDriver))); }
/// <summary> /// Gets the item by text. /// </summary> /// <param name="itemName">Name of the item.</param> /// <param name="stringComparison">The string comparison.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public virtual MenuItemComponent GetItemByText(string itemName, StringComparison stringComparison = StringComparison.Ordinal) { var menuItemEl = ItemElements.FirstOrDefault(el => { return(el.FindElements(itemNameSelector) .Any(name => String.Equals( el.TextHelper().InnerText, itemName, stringComparison))); }); if (menuItemEl == null) { throw new NoSuchElementException(); } var cssSelector = WrappedDriver.GetCssSelector(menuItemEl); return(pageObjectFactory.PrepareComponent( new MenuItemComponent( cssSelector, pageObjectFactory, WrappedDriver))); }
/// <summary> /// Gets the menu item at the index. /// </summary> /// <param name="index">The index.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public virtual MenuItemComponent GetMenuItemAt(int index) { var menuItem = pageObjectFactory.PrepareComponent( new MenuItemComponent( WrappedDriver.GetCssSelector(ItemElements.ElementAt(index)), pageObjectFactory, WrappedDriver)); return(menuItem); }
/// <summary> /// Gets the menu items. /// </summary> /// <returns></returns> public virtual IReadOnlyCollection <MenuItemComponent> GetMenuItems() { return(SubItemElements.Select( item => pageObjectFactory.PrepareComponent( new MenuItemComponent( WrappedDriver.GetCssSelector(item), pageObjectFactory, WrappedDriver))) .ToList() .AsReadOnly()); }
/// <summary> /// Gets the menu item at the index. /// </summary> /// <param name="index">The index.</param> /// <returns></returns> public virtual MenuItemComponent GetMenuItemAt(int index) { var menuItemEl = SubItemElements.ElementAt(index); var selector = WrappedDriver.GetCssSelector(menuItemEl); return(pageObjectFactory.PrepareComponent( new MenuItemComponent( selector, pageObjectFactory, WrappedDriver))); }
/// <summary> /// Gets the item. /// </summary> /// <param name="itemName">Name of the item.</param> /// <param name="stringComparison">The string comparison.</param> /// <returns></returns> public virtual MenuItemComponent GetItemByText(string itemName, StringComparison stringComparison = StringComparison.Ordinal) { var el = FirstOrDefaultElement(itemName, true, stringComparison); if (el == null) { return(null); } else { return(pageObjectFactory.PrepareComponent( new MenuItemComponent( WrappedDriver.GetCssSelector(el), pageObjectFactory, WrappedDriver))); } }