Example usage for org.openqa.selenium JavascriptExecutor executeScript

List of usage examples for org.openqa.selenium JavascriptExecutor executeScript

Introduction

In this page you can find the example usage for org.openqa.selenium JavascriptExecutor executeScript.

Prototype

Object executeScript(String script, Object... args);

Source Link

Document

Executes JavaScript in the context of the currently selected frame or window.

Usage

From source file:com.googlesites.CreateSitePage.java

public void selectTheme(String theme) {

    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("window.scrollBy(0,250)", "");
    driver.findElement(By.id(THEME_SELECTOR + theme.toLowerCase())).click();

}

From source file:com.grok.utils.TestUtilities.java

License:Open Source License

public static void waitClick(By locator, WebDriver driver, int value) {
    WebDriverWait wait = new WebDriverWait(driver, WAIT_TIME);
    wait.until(ExpectedConditions.presenceOfElementLocated(locator));
    JavascriptExecutor executor = (JavascriptExecutor) driver;
    executor.executeScript("arguments[0].click();", driver.findElement(locator));
}

From source file:com.hotwire.selenium.desktop.us.results.hotel.fragments.filters.HotelResultsAmenitiesFilteringTabPanelFragment.java

License:Open Source License

public void checkAmenityByName(String amenityName) {
    int i = 1;/*from  w  w w .  j  a  va2s.c om*/
    for (WebElement element : allNonAccessibleAmenities) {
        LOGGER.info(">>>>> " + (i++) + ": " + element.getAttribute("id"));
        if (element.getAttribute("amenityname").equals(amenityName) && !element.isSelected()) {
            JavascriptExecutor javascriptExecutor = (JavascriptExecutor) getWebDriver();
            javascriptExecutor.executeScript("$(arguments[0]).focus()", element);
            element.click();
            doWaitForUpdatingLayer();
            break;
        }
    }
}

From source file:com.htm.TestUtilities.java

License:Open Source License

public static void waitClick(By locator, WebDriver driver, int value) {
        WebDriverWait wait = new WebDriverWait(driver, WAIT_TIME);
        wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        JavascriptExecutor executor = (JavascriptExecutor) driver;
        executor.executeScript("arguments[0].click();", driver.findElement(locator));
    }//from  w w w.ja  v  a  2  s  .c o m

From source file:com.jaeksoft.searchlib.crawler.web.browser.BrowserDriver.java

License:Open Source License

public Object javascript(String javascript, boolean faultTolerant, Object... objects)
        throws IOException, SearchLibException {
    try {/*w ww. ja v a 2s .  c  o  m*/
        if (!(driver instanceof JavascriptExecutor))
            throw new IOException("The Web driver does not support javascript execution");
        JavascriptExecutor js = (JavascriptExecutor) driver;
        return js.executeScript(javascript, objects);
    } catch (IOException e) {
        if (!faultTolerant)
            throw e;
        Logging.warn(e);
    } catch (Exception e) {
        if (!faultTolerant)
            throw new SearchLibException(e);
        Logging.warn(e);
    }
    return null;
}

From source file:com.java.AppTestType_18_11_2015.java

public void BROWSEALLEVENTS(WebDriver driver) {

    try {/*from w ww . j  a  va2s .co  m*/
        WebElement element = driver.findElement(By.linkText("ALL EQUIPMENT"));
        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("arguments[2].click()", element);

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.findElement(By.xpath("//div[11]/div[2]/a/span")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        String EO = driver.findElement(By.cssSelector("span.e1Count")).getText();
        System.out.println(EO);

        String EOCount = EO.substring(EO.indexOf("(") + 1, EO.lastIndexOf(")"));

        System.out.println(EOCount);

        String match = driver.findElement(By.id("e1ResultsFound")).getText();
        System.out.println(match);

        //String matchcount = match.replaceAll("\\D+", ""); //This will extracts only integers from the string.

        //System.out.println(matchcount);

        if (EOCount.equalsIgnoreCase(match)) {

            System.out.println("count matched!!");

            resultDetails.setFlag(true);
        }
    }

    catch (Exception e) {

        resultDetails.setFlag(false);
    }
}

From source file:com.java.AppTestType_18_11_2015.java

public void MOUSEHOVER(WebDriver driver, String fieldText) {

    String fieldType = fieldText;
    String field = fieldText;/*  w  ww  . j a v a2 s .co m*/

    try {
        AppKeyWords cdf = AppKeyWords.valueOf(fieldType.toUpperCase());

        switch (cdf) {

        case RBA:

            try {
                // clicks hidden RBA link
                WebElement element = driver.findElement(By.xpath("//ul/ul/li[2]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                ;

                String count = driver.findElement(By.id("e1NumFound")).getText();
                String display = count + "Listings on Ritchie Bros. Auctioneers";
                System.out.println(display);

                resultDetails.setFlag(true);

            } catch (Exception e) {

                resultDetails.setFlag(false);
            }

            break;
        case EO:
            try {
                // clicks hidden EO Link
                WebElement element = driver.findElement(By.xpath("//ul/ul/li/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                Thread.sleep(10000);
                resultDetails.setFlag(true);

            } catch (Exception e) {

                resultDetails.setFlag(false);
            }
            break;
        case EVENTS:

            try {
                // clicks hidden events link      
                WebElement element = driver.findElement(By.xpath("//ul/ul/li[3]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
                ;

                String eventcount = driver.findElement(By.cssSelector("span.e1Count")).getText();

                String RBeventcount = eventcount.substring(eventcount.indexOf("(") + 1,
                        eventcount.lastIndexOf(")"));
                System.out.println(RBeventcount);

                String count = driver.findElement(By.id("e1ResultsFound")).getText();
                String display = count + "Events on EquipmentOne";
                System.out.println(display);

                if (RBeventcount.equalsIgnoreCase(count)) {

                    System.out.println("count matched!!");
                }
                resultDetails.setFlag(true);

            } catch (Exception e) {

                System.out.println("Counts do not match!");

                resultDetails.setFlag(false);
            }

            break;
        case CLOSINGTODAY:
            try {
                // clicks hidden closingtoday link
                WebElement element = driver.findElement(By.xpath("//ul/ul/li[4]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                ;
                resultDetails.setFlag(true);

            } catch (Exception e) {

                resultDetails.setFlag(false);
            }
            break;
        case DSALE:
            try {
                //clicks hidden definate sale link
                WebElement element = driver.findElement(By.xpath("//ul/ul/li[5]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                ;

                String count = driver.findElement(By.xpath("//div[2]/ul/li/div/div/div")).getText();

                if (count.equalsIgnoreCase("Definite Sale")) {
                    System.out.println(count);
                    resultDetails.setFlag(true);
                }
            } catch (Exception e) {

                resultDetails.setFlag(false);
            }
            break;
        case NEWLISTINGS:

            try {
                //clicks hidden newlistings link
                WebElement element = driver.findElement(By.xpath("//ul/ul/li[6]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                ;
                resultDetails.setFlag(true);

            } catch (Exception e) {

                resultDetails.setFlag(false);
            }
            break;

        case ALLEQUIPMENTLINK:

            try {
                //clicks hidden All Equipment link
                WebElement element = driver.findElement(By.xpath("//div/div/div/div[2]/a"));
                JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].click()", element);

                driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
                ;
                resultDetails.setFlag(true);

            } catch (Exception e) {

                resultDetails.setFlag(false);
            }
            break;

        }
        resultDetails.setFlag(true);
    }

    catch (Exception e) {

        resultDetails.setFlag(false);
    }
}

From source file:com.korotkin.WebTest.utils.WebPage.java

License:Open Source License

public void click(String element) {

    //  See: http://stackoverflow.com/questions/15294630/selenium-firefox-command-click-doesnt-work-with-a-found-element
    WebElement we = browser.getDriver().findElement(By.cssSelector(getCssPath(element)));
    JavascriptExecutor executor = (JavascriptExecutor) browser.getDriver();
    executor.executeScript("arguments[0].click();", we);

    // Original way to click
    // browser.getDriver().findElement(By.cssSelector(getCssPath(element))).click();

    // Click via Jquery
    /*//w ww . ja v  a2  s .c o  m
    ((JavascriptExecutor) browser.getDriver()).executeScript("$(\""
    + getCssPath(element) + "\").click();");
    */
}

From source file:com.liferay.cucumber.selenium.WebDriverHelper.java

License:Open Source License

public static void executeJavaScriptEvent(WebDriver webDriver, String locator, String eventType, String event) {

    WebElement webElement = getWebElement(webDriver, locator);

    WrapsDriver wrapsDriver = (WrapsDriver) webElement;

    WebDriver wrappedWebDriver = wrapsDriver.getWrappedDriver();

    JavascriptExecutor javascriptExecutor = (JavascriptExecutor) wrappedWebDriver;

    if (!webElement.isDisplayed()) {
        scrollWebElementIntoView(webDriver, webElement);
    }//from  w ww.  j av  a  2 s .  co m

    StringBuilder sb = new StringBuilder(6);

    sb.append("var element = arguments[0];");
    sb.append("var event = document.createEvent('");
    sb.append(eventType);
    sb.append("');event.initEvent('");
    sb.append(event);
    sb.append("', true, false);element.dispatchEvent(event);");

    javascriptExecutor.executeScript(sb.toString(), webElement);
}

From source file:com.liferay.cucumber.selenium.WebDriverHelper.java

License:Open Source License

public static void makeVisible(WebDriver webDriver, String locator) {
    WebElement bodyWebElement = getWebElement(webDriver, "//body");

    WrapsDriver wrapsDriver = (WrapsDriver) bodyWebElement;

    WebDriver wrappedWebDriver = wrapsDriver.getWrappedDriver();

    JavascriptExecutor javascriptExecutor = (JavascriptExecutor) wrappedWebDriver;

    StringBuilder sb = new StringBuilder();

    sb.append("var element = arguments[0];");
    sb.append("element.style.cssText = 'display:inline !important';");
    sb.append("element.style.overflow = 'visible';");
    sb.append("element.style.minHeight = '1px';");
    sb.append("element.style.minWidth = '1px';");
    sb.append("element.style.opacity = '1';");
    sb.append("element.style.visibility = 'visible';");

    WebElement locatorWebElement = getWebElement(webDriver, locator);

    javascriptExecutor.executeScript(sb.toString(), locatorWebElement);
}