예제 #1
0
        private IEnumerable <IElement> FindAllWithCriterion(ICriteria criterion, bool onlyVisible = true)
        {
            var criteriaType = criterion.CriteriaType;

            switch (criteriaType)
            {
            case CriteriaType.Id:
                return(FindAllWithCriterion(onlyVisible, By.Id(criterion.GetCriterion())));

            case CriteriaType.CssClass:
                return(FindAllWithCriterion(onlyVisible, By.ClassName(criterion.GetCriterion())));

            case CriteriaType.DataAttribute:
            case CriteriaType.Selector:
                return(FindAllWithCriterion(onlyVisible,
                                            By.CssSelector(criterion.GetCriterion())));
            }
            return(null);
        }
예제 #2
0
        private IElement WaitOneWithCriterion(ICriteria criterion, bool onlyVisible, int timeout = 30)
        {
            var    criteriaType    = criterion.CriteriaType;
            string criterionString = criterion.GetCriterion();

            switch (criteriaType)
            {
            case CriteriaType.Id:
                return(WaitForOneWithCriterion(criterionString, By.Id(criterionString), onlyVisible, timeout));

            case CriteriaType.CssClass:
                return(WaitForOneWithCriterion(criterionString, By.ClassName(criterionString), onlyVisible, timeout));

            case CriteriaType.DataAttribute:
            case CriteriaType.Selector:
                return(WaitForOneWithCriterion(criterionString, By.CssSelector(criterionString), onlyVisible, timeout));
            }
            throw new ArgumentException(string.Format("Don't know this criterion: {0}", criterionString));
        }