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.twiceagain.rservejavademo.webaccess.BasicDriver.java

License:Open Source License

/**
 * Return the list of all attributes of a given WebElement.
 * I added this capability for efficiency, since it is 
 * not available from Selenium api directly.
 * @param wd/*  ww  w  .j a  va2s. c  om*/
 * @param we
 * @return
 */
public static Map<String, String> getAttributes(WebDriver wd, WebElement we) {
    // JavaScript
    String js = "var items = {};" + " for (index = 0; index < arguments[0].attributes.length; ++index) "
            + "{ items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value };"
            + " return items;";
    JavascriptExecutor jse = (JavascriptExecutor) wd;
    return (Map<String, String>) jse.executeScript(js, we);
}

From source file:com.vaadin.testbench.commands.TestBenchCommandExecutor.java

public void focusElement(TestBenchElement testBenchElement) {
    // The actual driver is _always_ a JavaScriptExecutor - if it is not,
    // something is terribly wrong.
    JavascriptExecutor jse = (JavascriptExecutor) actualDriver;

    Object ret = jse.executeScript("try { arguments[0].focus() } catch(e) {}; return null;", testBenchElement);
    assert (ret == null);
}

From source file:com.vaadin.testbench.elements.AbstractFieldElement.java

License:Apache License

/**
 * Select contents of TextField Element.
 *
 * NOTE: When testing with firefox browser window should have focus in it
 *
 * @since 8.0//  www.  j av  a  2  s.com
 * @param elem
 *            element which context will be select
 */
protected void clientSelectElement(WebElement elem) {
    JavascriptExecutor js = (JavascriptExecutor) getDriver();
    String script = "window.focus();" + "var elem=arguments[0];" + "elem.select();elem.focus();";
    js.executeScript(script, elem);
}

From source file:com.vaadin.testbench.elements.AbstractFieldElement.java

License:Apache License

protected void clearElementClientSide(WebElement elem) {
    // clears without triggering an event (on client side)
    JavascriptExecutor js = (JavascriptExecutor) getDriver();
    String script = "window.focus(); var elem=arguments[0];" + "elem.value=\"\";";
    js.executeScript(script, elem);
}

From source file:com.vaadin.testbench.elements.ComboBoxElement.java

License:Apache License

private boolean isReadOnly(WebElement elem) {
    JavascriptExecutor js = (JavascriptExecutor) getDriver();
    return (Boolean) js.executeScript("return arguments[0].readOnly", elem);
}

From source file:com.vaadin.testbench.elements.RichTextAreaElement.java

License:Apache License

/**
 * Return value of the field element.//  w w  w .  j a  va 2  s. co  m
 *
 * @return value of the field element
 * @since 8.4
 */
public String getValue() {
    JavascriptExecutor executor = (JavascriptExecutor) getDriver();
    return executor.executeScript("return arguments[0].contentDocument.body.innerHTML", getEditorIframe())
            .toString();
}

From source file:com.vaadin.testbench.elements.RichTextAreaElement.java

License:Apache License

@Override
public void focus() {
    waitForVaadin();/*www  .  j ava2  s.  com*/
    JavascriptExecutor executor = (JavascriptExecutor) getDriver();
    executor.executeScript("arguments[0].contentDocument.body.focus();", getEditorIframe());
}

From source file:com.vaadin.testbench.elements.TableElement.java

License:Apache License

@Override
public void contextClick() {
    WebElement tbody = findElement(By.className("v-table-body"));
    // There is a problem in with phantomjs driver, just calling
    // contextClick() doesn't work. We have to use javascript.
    if (isPhantomJS()) {
        JavascriptExecutor js = getCommandExecutor();
        String scr = "var element=arguments[0];" + "var ev = document.createEvent('HTMLEvents');"
                + "ev.initEvent('contextmenu', true, false);" + "element.dispatchEvent(ev);";
        js.executeScript(scr, tbody);
    } else {/*from  www . j  a va2s  . c  o m*/
        new Actions(getDriver()).contextClick(tbody).build().perform();
    }
}

From source file:com.vaadin.testbench.TestBenchElement.java

/**
 * Sets the number of pixels that an element's content is scrolled from the
 * top./*  w w w. ja va2 s. co m*/
 *
 * @param scrollTop
 *            value set to Element.scroll property
 * @see com.vaadin.testbench.commands.TestBenchElementCommands#scroll(int)
 */
@Override
public void scroll(int scrollTop) {
    JavascriptExecutor js = getCommandExecutor();
    js.executeScript("arguments[0].scrollTop = " + scrollTop, actualElement);
}

From source file:com.vaadin.testbench.TestBenchElement.java

/**
 * Sets the number of pixels that an element's content is scrolled to the
 * left./*from   w  w w  .j a va  2 s  .com*/
 *
 * @param scrollLeft
 *            value set to Element.scrollLeft property
 * @see com.vaadin.testbench.commands.TestBenchElementCommands#scrollLeft(int)
 */
@Override
public void scrollLeft(int scrollLeft) {
    JavascriptExecutor js = getCommandExecutor();
    js.executeScript("arguments[0].scrollLeft = " + scrollLeft, actualElement);
}