public String getXPathExpression() { return getRawXPathExpression(); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { return XPathAndFilterFinder.pureXPath("(position() mod 2) = 1"); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { return new XPathAndFilterFinder("self::option", SelectedPseudoClass.SELECTED_FILTER); }
XPathAndFilterFinder newXPathExpressionKeepingEverythingElse(String newXPathExpression) { return new XPathAndFilterFinder(newXPathExpression, this.getElementFilterList()); }
public XPathAndFilterFinder merge(XPathAndFilterFinder rightXPath, XPathMergeStrategy xPathMergeStrategy) { return new XPathAndFilterFinder( xPathMergeStrategy.mergeXPath(this.getXPathExpression(), rightXPath.getXPathExpression()), this.getElementFilterList().merge(rightXPath.getElementFilterList()) ); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { String joinedXPathExps = astCssNotPseudoClass.getArgument().stream() .map(cssSelector -> cssSelector.toElementFinder(webDriver).getXPathAndFilterFinder().getRawXPathExpression()) .collect(Collectors.joining(" | ")); return XPathAndFilterFinder.pureXPath("not("+joinedXPathExps+")"); }
public List<WebElement> findElements(SearchContext context) { List<WebElement> elementsByXPath = findElementsByXPath(context); return this.getElementFilterList().filter(context, elementsByXPath); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { return XPathAndFilterFinder.filterOnly(HiddenPseudoClass.HIDDEN_FILTER); }
default ElementFinder __createFinderForUnsupportedPseudo(ElementFinder leftFinder, WebDriver webDriver) { return new ElementFinder( webDriver, CSS_NOT_NATIVELY_SUPPORTED, leftFinder.getXPathAndFilterFinder().merge(toXPath(webDriver), xPathMergeStrategy()) ); }
public List<WebElement> findWebElements(SearchContext context) { if (canFetchThroughCssAlone()) { return cssFinder.findElements(context); } return xPathAndFilterFinder.findElements(context); }
private List<WebElement> findElementsByXPath(SearchContext context) { String finalXPathExpression = this.getFinalXPathExpression(); return new By.ByXPath(finalXPathExpression).findElements(context); }
public String getXPathExpression() { return xPathAndFilterFinder.getXPathExpression(); }
public ElementFilterList getElementFilterList() { return xPathAndFilterFinder.getElementFilterList(); }
public XPathAndFilterFinder merge(XPathAndFilterFinder rightXPath, XPathMergeStrategy xPathMergeStrategy) { return new XPathAndFilterFinder( xPathMergeStrategy.mergeXPath(this.getXPathExpression(), rightXPath.getXPathExpression()), this.getElementFilterList().merge(rightXPath.getElementFilterList()) ); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { String joinedXPathExps = astCssNotPseudoClass.getArgument().stream() .map(cssSelector -> cssSelector.toElementFinder(webDriver).getXPathAndFilterFinder().getRawXPathExpression()) .collect(Collectors.joining(" | ")); return XPathAndFilterFinder.pureXPath("not("+joinedXPathExps+")"); }
public List<WebElement> findElements(SearchContext context) { List<WebElement> elementsByXPath = findElementsByXPath(context); return this.getElementFilterList().filter(context, elementsByXPath); }
XPathAndFilterFinder newXPathExpressionKeepingEverythingElse(String newXPathExpression) { return new XPathAndFilterFinder(newXPathExpression, this.getElementFilterList()); }
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { return XPathAndFilterFinder.filterOnly(FocusPseudoClass.FOCUS_FILTER); }
default ElementFinder __createFinderForUnsupportedPseudo(ElementFinder leftFinder, WebDriver webDriver) { return new ElementFinder( webDriver, CSS_NOT_NATIVELY_SUPPORTED, leftFinder.getXPathAndFilterFinder().merge(toXPath(webDriver), xPathMergeStrategy()) ); }
public List<WebElement> findWebElements(SearchContext context) { if (canFetchThroughCssAlone()) { return cssFinder.findElements(context); } return xPathAndFilterFinder.findElements(context); }