private List<WebElementFacade> webElementFacadesFrom(List<WebElement> nestedElements) { List<WebElementFacade> results = Lists.newArrayList(); for (WebElement element : nestedElements) { results.add( wrapWebElement( driver, element, timeoutInMilliseconds(), waitForTimeoutInMilliseconds, element.toString())); } return results; }
/** * Executes javascript on an element and returns the result as a java String * * @param javascript snippit of javascript that returns a string * @param webElement Element to execute the javascript on, reference in snippit as "arguments[0]" * @return Returned value of the snippit */ public String executeJavascriptOnWebElement(String javascript, WebElement webElement) { se.log() .logSeStep( "Executing Javascript on WebElement:" + javascript + ", " + webElement.toString()); try { Object result = ((JavascriptExecutor) se.driver()).executeScript(javascript, webElement); if (result != null) return result.toString(); else return ""; } catch (Exception e) { System.out.println(e.getMessage()); return ""; } }
public static <T extends WebElementFacade> T wrapWebElement( final WebDriver driver, final WebElement element, final long timeout) { return (T) new WebElementFacadeImpl(driver, null, element, timeout, timeout) .foundBy(element.toString()); }