public static boolean elementMatchesStringSelector(WebDriver driver, WebElement element, String selector) { W3cCssSelectorListWithMap cssParsedSelectors = W3cCssSelectorWithMapParser.parseSelector(selector); for (W3cCssSelectorWithMap w3cCssSelectorWithMap : cssParsedSelectors) { if (elementMatchesSelector(driver, element, w3cCssSelectorWithMap)) { return true; } } return false; }
public static boolean elementMatchesStringSelector(WebDriver driver, WebElement element, String selector) { W3cCssSelectorListWithMap cssParsedSelectors = W3cCssSelectorWithMapParser.parseSelector(selector); for (W3cCssSelectorWithMap w3cCssSelectorWithMap : cssParsedSelectors) { if (elementMatchesSelector(driver, element, w3cCssSelectorWithMap)) { return true; } } return false; }
private boolean parentMatchesAncestorSelector(WebDriver driver, WebElement parent, DescendantSelector descendantSelector, ArgumentMap argumentMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, parent, argumentMap, descendantSelector.getAncestorSelector()); }
private boolean elementMatchesDescendantSelector(WebDriver driver, WebElement element, DescendantSelector descendantSelector, ArgumentMap argumentMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, descendantSelector.getSimpleSelector()); }
private boolean elementMatchesDescendantSelector(WebDriver driver, WebElement element, DescendantSelector descendantSelector, ArgumentMap argumentMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, descendantSelector.getSimpleSelector()); }
private boolean parentMatchesAncestorSelector(WebDriver driver, WebElement parent, DescendantSelector descendantSelector, ArgumentMap argumentMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, parent, argumentMap, descendantSelector.getAncestorSelector()); }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, DescendantSelector descendantSelector) { if (CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, descendantSelector.getSimpleSelector())) { WebElement ancestor = SelectorUtils.parent(element); while (ancestor != null) { if (CssSelectorMatcherService.elementMatchesSelector(driver, ancestor, argumentMap, descendantSelector.getAncestorSelector())) { return true; } ancestor = SelectorUtils.parent(ancestor); } } return false; }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, SiblingSelector siblingSelector) { WebElement previousElement = SelectorUtils.getPreviousSibling(element); return aPreviousElementExists(previousElement) && elementMatchesSelector(driver, previousElement, argumentMap, siblingSelector.getSelector()) && elementMatchesSelector(driver, element, argumentMap, siblingSelector.getSiblingSelector()); }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, SiblingSelector siblingSelector) { WebElement previousElement = SelectorUtils.getPreviousSibling(element); return aPreviousElementExists(previousElement) && elementMatchesSelector(driver, previousElement, argumentMap, siblingSelector.getSelector()) && elementMatchesSelector(driver, element, argumentMap, siblingSelector.getSiblingSelector()); }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, DescendantSelector descendantSelector) { if (CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, descendantSelector.getSimpleSelector())) { WebElement ancestor = SelectorUtils.parent(element); while (ancestor != null) { if (CssSelectorMatcherService.elementMatchesSelector(driver, ancestor, argumentMap, descendantSelector.getAncestorSelector())) { return true; } ancestor = SelectorUtils.parent(ancestor); } } return false; }
public static boolean elementMatchesSelector(WebDriver driver, WebElement element, W3cCssSelectorWithMap w3cCssSelectorWithMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, element, w3cCssSelectorWithMap.getArgumentMap(), w3cCssSelectorWithMap.getSelector()); }
public static boolean elementMatchesSelector(WebDriver driver, WebElement element, W3cCssSelectorWithMap w3cCssSelectorWithMap) { return CssSelectorMatcherService.elementMatchesSelector(driver, element, w3cCssSelectorWithMap.getArgumentMap(), w3cCssSelectorWithMap.getSelector()); }
/** * http://www.w3.org/TR/css3-selectors/#general-sibling-combinators * <div class="example"> * <p>Example:</p> * * <pre>h1 ~ pre</pre> * * <p>represents a <code>pre</code> element following an <code>h1</code>. It is a correct and valid, but partial, description of:</p> * <pre><h1>Definition of the function a</h1> * <p>Function a(x) has to be applied to all figures in the table.</p> * <pre>function a(x) = 12x/13.5</pre></pre> * </div> */ @Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, SiblingSelector siblingSelector) { boolean elementMatchesSelectorSecondPart = CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, siblingSelector.getSiblingSelector()); if (!elementMatchesSelectorSecondPart) { return false; } List<WebElement> previousSiblings = SelectorUtils.getPreviousSiblings(element); for (WebElement previousSibling : previousSiblings) { boolean previousSiblingMatchesSelectorFirstPart = CssSelectorMatcherService.elementMatchesSelector(driver, previousSibling, argumentMap, siblingSelector.getSelector()); if (previousSiblingMatchesSelectorFirstPart) { return true; } } return false; }
/** * http://www.w3.org/TR/css3-selectors/#general-sibling-combinators * <div class="example"> * <p>Example:</p> * * <pre>h1 ~ pre</pre> * * <p>represents a <code>pre</code> element following an <code>h1</code>. It is a correct and valid, but partial, description of:</p> * <pre><h1>Definition of the function a</h1> * <p>Function a(x) has to be applied to all figures in the table.</p> * <pre>function a(x) = 12x/13.5</pre></pre> * </div> */ @Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, SiblingSelector siblingSelector) { boolean elementMatchesSelectorSecondPart = CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, siblingSelector.getSiblingSelector()); if (!elementMatchesSelectorSecondPart) { return false; } List<WebElement> previousSiblings = SelectorUtils.getPreviousSiblings(element); for (WebElement previousSibling : previousSiblings) { boolean previousSiblingMatchesSelectorFirstPart = CssSelectorMatcherService.elementMatchesSelector(driver, previousSibling, argumentMap, siblingSelector.getSelector()); if (previousSiblingMatchesSelectorFirstPart) { return true; } } return false; }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, ConditionalSelector conditionalSelector) { Condition condition = conditionalSelector.getCondition(); SimpleSelector simpleSelector = conditionalSelector.getSimpleSelector(); return CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, simpleSelector) && isCondition(driver, element, argumentMap, simpleSelector, condition); }
@Override public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap, ConditionalSelector conditionalSelector) { Condition condition = conditionalSelector.getCondition(); SimpleSelector simpleSelector = conditionalSelector.getSimpleSelector(); return CssSelectorMatcherService.elementMatchesSelector(driver, element, argumentMap, simpleSelector) && isCondition(driver, element, argumentMap, simpleSelector, condition); }