// Assume driver is a valid WebDriver instance that // has been properly instantiated elsewhere. WebElement element = driver.findElement(By.id("gbqfd")); JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", element);
@Override public Object executeJavascript(String javascript) { return ((JavascriptExecutor)driver).executeScript(javascript); }
public static Object injectJavascript(WebDriver driver, String script) { return ((JavascriptExecutor)driver).executeScript(script); }
JavascriptExecutor js = (JavascriptExecutor) driver; WebElement element = driver.findElement(By.linkText("Click ME")); js.executeScript("arguments[0].setAttribute('attr', '10')",element);
private static int obtainVerticalScrollPosition(WebDriver driver) { Number scrollLong = (Number) ((JavascriptExecutor)driver).executeScript("return (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;"); return scrollLong.intValue(); }
String cssSelector="...blablabla..."; JavascriptExecutor js = (JavascriptExecutor) driver; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("document.getElementById(\'"+cssSelector +"\').click();"); js.executeScript(stringBuilder.toString());
WebDriver driver = new AnyDriverYouWant(); JavascriptExecutor js; if (driver instanceof JavascriptExecutor) { js = (JavascriptExecutor)driver; } // else throw... // later on... js.executeScript("return document.getElementById('someId');");
public static Dimension getViewportArea(WebDriver driver) { List<Number> size = (List<Number>)((JavascriptExecutor)driver).executeScript("return [document.documentElement.clientWidth" + "|| document.body.clientWidth" + "|| window.innerWidth," + "document.documentElement.clientHeight" + "|| document.body.clientHeight" + "|| window.innerHeight];" ); return new Dimension(size.get(0).intValue(), size.get(1).intValue()); }
WebDriver driver = new FirefoxDriver(); JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("window.scrollBy(0,250)", "");
public static void scrollVerticallyTo(WebDriver driver, int scroll) { ((JavascriptExecutor)driver).executeScript("window.scrollTo(0, " + scroll + ");"); try { waitUntilItIsScrolledToPosition(driver, scroll); } catch (InterruptedException e) { LOG.trace("Interrupt error during scrolling occurred.", e); } }
WebDriver driver = new FirefoxDriver(); JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("document.getElementsByName('body')[0].setAttribute('type', 'text');"); driver.findElement(By.xpath("//input[@name='body']")).clear(); driver.findElement(By.xpath("//input[@name='body']")).sendKeys("Ripon: body text");
@SuppressWarnings("unchecked") default <T> T executeJavaScript(String jsCode, Object... arguments) { return (T) ((JavascriptExecutor) getWebDriver()).executeScript(jsCode, arguments); }
@SuppressWarnings("unchecked") @Override public Rect calculateArea() { List<Number> size = (List<Number>)((JavascriptExecutor)driver).executeScript("return [Math.max(" + "document.documentElement.scrollWidth," + "document.body.offsetWidth, document.documentElement.offsetWidth," + "document.body.clientWidth, document.documentElement.clientWidth)," + "Math.max(" + "document.documentElement.scrollHeight," + "document.body.offsetHeight, document.documentElement.offsetHeight," + "document.body.clientHeight, document.documentElement.clientHeight)];" ); return new Rect(0, 0, size.get(0).intValue(), size.get(1).intValue()); }
@Override public Rect findArea(WebPageElement webPageElement) { List<Number> rect = (List<Number>)((JavascriptExecutor)webPageElement.getDriver()).executeScript(JSBASED_SCRIPT, webPageElement.getWebElement()); return new Rect(rect.get(0).intValue(), rect.get(1).intValue(), rect.get(2).intValue(), rect.get(3).intValue()); } }),
@Override public Rect findArea(WebPageElement webPageElement) { String script = GalenConfig.getConfig().getStringProperty(GalenProperty.GALEN_BROWSER_PAGELEMENT_AREAFINDER_CUSTOM_SCRIPT); List<Number> rect = (List<Number>)((JavascriptExecutor)webPageElement.getDriver()).executeScript(script, webPageElement.getWebElement()); return new Rect(rect.get(0).intValue(), rect.get(1).intValue(), rect.get(2).intValue(), rect.get(3).intValue()); } });
devicePixelRatio = ((Number) ((JavascriptExecutor) driver).executeScript(JS_RETRIEVE_DEVICE_PIXEL_RATIO)).doubleValue(); } catch (Exception ex) { ex.printStackTrace(); Long screenSize = ((Number) ((JavascriptExecutor) driver).executeScript("return Math.max(" + "document.body.scrollWidth, document.documentElement.scrollWidth," + "document.body.offsetWidth, document.documentElement.offsetWidth," +
@Test public void testLoginReloadRetainsFormRedirect() { String redirectUri = "http://expected.com"; webDriver.get(baseUrl + "/oauth/authorize?client_id=test&redirect_uri="+redirectUri); ((JavascriptExecutor)webDriver).executeScript("document.getElementsByName('X-Uaa-Csrf')[0].value=''"); webDriver.manage().deleteCookieNamed("JSESSIONID"); webDriver.findElement(By.xpath("//input[@value='Sign in']")).click(); assertThat(webDriver.getCurrentUrl(), Matchers.containsString("/login")); assertThat(webDriver.findElement(By.name("form_redirect_uri")).getAttribute("value"), Matchers.containsString("redirect_uri="+redirectUri)); }
@Test public void testAccountChooserPopulatesUsernameNotEmailWhenOriginIsUAAorLDAP() throws Exception { String userUAA = "{\"userId\":\"1\",\"username\":\"userUAA\",\"origin\":\"uaa\",\"email\":\"user@uaa.org\"}"; String userLDAP = "{\"userId\":\"2\",\"username\":\"userLDAP\",\"origin\":\"ldap\",\"email\":\"user@ldap.org\"}"; String userExternal = "{\"userId\":\"3\",\"username\":\"userExternal\",\"origin\":\"external\",\"email\":\"user@external.org\"}"; String zoneUrl = createDiscoveryZone(); webDriver.get(zoneUrl); webDriver.manage().deleteAllCookies(); JavascriptExecutor js = (JavascriptExecutor) webDriver; js.executeScript("document.cookie = \"Saved-Account-1=" + URLEncoder.encode(userUAA, StandardCharsets.UTF_8.name()) + ";path=/;domain=testzone3.localhost\""); js.executeScript("document.cookie = \"Saved-Account-2=" + URLEncoder.encode(userLDAP, StandardCharsets.UTF_8.name()) + ";path=/;domain=testzone3.localhost\""); js.executeScript("document.cookie = \"Saved-Account-3=" + URLEncoder.encode(userExternal, StandardCharsets.UTF_8.name()) + ";path=/;domain=testzone3.localhost\""); webDriver.navigate().refresh(); assertEquals(3, webDriver.findElements(By.cssSelector("span.email-address")).size()); webDriver.findElement(By.xpath("//span[contains(text(), 'userUAA')]")).click(); assertEquals("userUAA", webDriver.findElement(By.id("username")).getAttribute("value")); webDriver.navigate().back(); webDriver.findElement(By.xpath("//span[contains(text(), 'userLDAP')]")).click(); assertEquals("userLDAP", webDriver.findElement(By.id("username")).getAttribute("value")); webDriver.navigate().back(); webDriver.findElement(By.xpath("//span[contains(text(), 'userExternal')]")).click(); assertEquals("user@external.org", webDriver.findElement(By.id("username")).getAttribute("value")); webDriver.manage().deleteAllCookies(); }
SelenideTargetLocator switchTo = new SelenideTargetLocator(driver.config(), driver.getWebDriver()); switchTo.frame(iframe); int iframeWidth = ((Long) ((JavascriptExecutor) webdriver).executeScript("return document.body.clientWidth")).intValue(); if (iframeHeight > img.getHeight()) { iframeHeight = img.getHeight() - iframeLocation.getY();
@BeforeEach public void setup(@TempDirectory.TempDir Path folder) throws IOException { Assumptions.assumeTrue(Boolean.getBoolean("smoke.test"), "Smoke tests disabled (set System property 'smoke.test')"); this.downloadDir = folder.toFile(); FirefoxProfile fxProfile = new FirefoxProfile(); fxProfile.setPreference("browser.download.folderList", 2); fxProfile.setPreference("browser.download.manager.showWhenStarting", false); fxProfile.setPreference("browser.download.dir", this.downloadDir.getAbsolutePath()); fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/zip,application/x-compress,application/octet-stream"); FirefoxOptions options = new FirefoxOptions().setProfile(fxProfile); this.driver = new FirefoxDriver(options); ((JavascriptExecutor) this.driver).executeScript("window.focus();"); Actions actions = new Actions(this.driver); this.enterAction = actions.sendKeys(Keys.ENTER).build(); }