protected List<WebElement> evaluateSizzleSelector(Driver driver, SearchContext context, ByCssSelector sizzleCssSelector) { injectSizzleIfNeeded(driver); String sizzleSelector = sizzleCssSelector.toString() .replace("By.selector: ", "") .replace("By.cssSelector: ", ""); if (context instanceof WebElement) return driver.executeJavaScript("return Sizzle(arguments[0], arguments[1])", sizzleSelector, context); else return driver.executeJavaScript("return Sizzle(arguments[0])", sizzleSelector); }
/** * Covert user string to By objects. * * @param identity an identity of the element * @return By selector */ private By parseBy(final String identity) { By selector = new By.ById(identity); if (identity.startsWith("/")) { selector = new By.ByXPath(identity); } else if (identity.startsWith("#") || identity.startsWith(".")) { selector = new By.ByCssSelector(identity); } return selector; }
String endpoint = driver.findElement( new By.ByCssSelector("div[data-sku='519']")).getAttribute("data-endpoint"); assertTrue("https://api-sb2.powatag.com", endpoint);
public List<WebElement> findElements(SearchContext context) { String finalCssSelector = this.toString(); return new By.ByCssSelector(finalCssSelector).findElements(context); }
public List<WebElement> findElements(SearchContext context) { String finalCssSelector = this.toString(); return new By.ByCssSelector(finalCssSelector).findElements(context); }
/** * Find elements via the driver's underlying W3C Selector engine. If the browser does not * implement the Selector API, a best effort is made to emulate the API. In this case, we strive * for at least CSS2 support, but offer no guarantees. * * @param cssSelector CSS expression. * @return A By which locates elements by CSS. */ public static By cssSelector(String cssSelector) { return new ByCssSelector(cssSelector); }