@Override public boolean isCondition(WebDriver driver, WebElement element, ArgumentMap argumentMap, Selector selectorUpToThisPoint, AttributeCondition attributeCondition) { String pseudoClassValue = attributeCondition.getValue(); for (PseudoClass pseudoClass : pseudoClasses) { if (pseudoClass.isApplicable(pseudoClassValue)) { return pseudoClass.isPseudoClass(driver, element, new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue)); } } System.err.println("Warning: Unsupported pseudo-class: " + pseudoClassValue); return false; }
@Override public ConditionComponent conditionToXPath(ArgumentMap argumentMap, Selector selectorUpToThisPoint, AttributeCondition attributeCondition) { String pseudoClassValue = attributeCondition.getValue(); for (PseudoClass pseudoClass : pseudoClasses) { if (pseudoClass.isApplicable(pseudoClassValue)) { return pseudoClass.pseudoClassToXPath(new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue)); } } PseudoClassSelector pseudoClassSelector = new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue); // right now we'll just exit, hoping to cause less problems throw new UnsupportedPseudoClassException(pseudoClassSelector.getOriginalPseudoClassSelector()); }
@Override public List<WebElement> filterElements(WebDriver driver, List<WebElement> elements) { for (Iterator<WebElement> iterator = elements.iterator(); iterator.hasNext();) { WebElement webElement = iterator.next(); if (!pseudoClass.isPseudoClass(driver, webElement, this.pseudoClassSelector)) { iterator.remove(); } } return elements; }
@Override public ConditionComponent conditionToXPath(ArgumentMap argumentMap, Selector selectorUpToThisPoint, AttributeCondition attributeCondition) { String pseudoClassValue = attributeCondition.getValue(); for (PseudoClass pseudoClass : pseudoClasses) { if (pseudoClass.isApplicable(pseudoClassValue)) { return pseudoClass.pseudoClassToXPath(new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue)); } } PseudoClassSelector pseudoClassSelector = new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue); // right now we'll just exit, hoping to cause less problems throw new UnsupportedPseudoClassException(pseudoClassSelector.getOriginalPseudoClassSelector()); }
@Override public List<WebElement> filterElements(WebDriver driver, List<WebElement> elements) { for (Iterator<WebElement> iterator = elements.iterator(); iterator.hasNext();) { WebElement webElement = iterator.next(); if (!pseudoClass.isPseudoClass(driver, webElement, this.pseudoClassSelector)) { iterator.remove(); } } return elements; }
@Override public boolean isCondition(WebDriver driver, WebElement element, ArgumentMap argumentMap, Selector selectorUpToThisPoint, AttributeCondition attributeCondition) { String pseudoClassValue = attributeCondition.getValue(); for (PseudoClass pseudoClass : pseudoClasses) { if (pseudoClass.isApplicable(pseudoClassValue)) { return pseudoClass.isPseudoClass(driver, element, new PseudoClassSelector(argumentMap, selectorUpToThisPoint, pseudoClassValue)); } } System.err.println("Warning: Unsupported pseudo-class: " + pseudoClassValue); return false; }