public static TagComponent compileSelector(ArgumentMap argumentMap, Selector selector) { CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(selector); return cssSelector.toXPath(argumentMap, selector); }
public boolean is(WebDriver driver, List<WebElement> elements) { if (emptySelector) { return false; } // If there is a :not(:present), then having no element is a expected status! if (this.hasNegatedPresent && elements.isEmpty()) { return true; } for (CompiledCssSelector s : compiledCssSelectors) { for (WebElement webElement : elements) { if (s.cssSelector.is(driver, webElement, s.argumentMap, s.parsedSimpleSelector)) { return true; } } } return false; }
public static TagComponent compileSelector(ArgumentMap argumentMap, Selector selector) { CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(selector); return cssSelector.toXPath(argumentMap, selector); }
public boolean is(WebDriver driver, List<WebElement> elements) { if (emptySelector) { return false; } // If there is a :not(:present), then having no element is a expected status! if (this.hasNegatedPresent && elements.isEmpty()) { return true; } for (CompiledCssSelector s : compiledCssSelectors) { for (WebElement webElement : elements) { if (s.cssSelector.is(driver, webElement, s.argumentMap, s.parsedSimpleSelector)) { return true; } } } return false; }
public static <T> void verifySelectorYieldsXPathExpression(CssSelector<T, TagComponent> cssSiblingSelector, String selector, String value) { W3cCssSelectorWithMap w3cCssSelectorWithMap = W3cCssSelectorWithMapParser.parseSelector(selector).get(0); @SuppressWarnings("unchecked") T sacSelector = (T) w3cCssSelectorWithMap.getSelector(); // when TagComponent xPathComponent = cssSiblingSelector.toXPath(w3cCssSelectorWithMap.getArgumentMap(), sacSelector); // then String xPath = xPathComponent.toXPath(); assertThat(xPath, is(value)); }
public List<WebElement> filter(WebDriver driver, List<WebElement> elements) { List<WebElement> filteredElements = new ArrayList<>(); if (emptySelector || hasNegatedPresent) { return filteredElements; } for (CompiledCssSelector s : compiledCssSelectors) { for (WebElement webElement : elements) { if (s.cssSelector.is(driver, webElement, s.argumentMap, s.parsedSimpleSelector)) { filteredElements.add(webElement); } } } return filteredElements; }
@Test public void testConditionToXPath() { W3cCssSelectorListWithMap w3cCssSelectorListWithMap = W3cCssSelectorWithMapParser.parseSelector("#idz"); SelectorList selectorList = w3cCssSelectorListWithMap.getSelectorList(); Selector selector = selectorList.item(0); CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(selector); TagComponent tagComponent = cssSelector.toXPath(w3cCssSelectorListWithMap.getArgumentMap(), selector); assertThat(tagComponent.toXPath(), Matchers.is("(.//*[@id = 'idz'])")); assertThat(tagComponent.toXPathCondition(), Matchers.is("@id = 'idz'")); }
public List<WebElement> filter(WebDriver driver, List<WebElement> elements) { List<WebElement> filteredElements = new ArrayList<>(); if (emptySelector || hasNegatedPresent) { return filteredElements; } for (CompiledCssSelector s : compiledCssSelectors) { for (WebElement webElement : elements) { if (s.cssSelector.is(driver, webElement, s.argumentMap, s.parsedSimpleSelector)) { filteredElements.add(webElement); } } } return filteredElements; }
public static boolean elementMatchesSelector(WebDriver driver, WebElement element, ArgumentMap argumentMap, Selector selector) { CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(selector); return cssSelector.is(driver, element, argumentMap, selector); }
public static boolean elementMatchesSelector(WebDriver driver, WebElement element, ArgumentMap argumentMap, Selector selector) { CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(selector); return cssSelector.is(driver, element, argumentMap, selector); }