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