0
0
Selenium Javatesting~20 mins

Executing JavaScript in Selenium Java - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
JavaScript Execution Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this JavaScript execution in Selenium?
Consider the following Selenium Java code snippet that executes JavaScript to get the page title. What will be the value of pageTitle after execution?
Selenium Java
JavascriptExecutor js = (JavascriptExecutor) driver;
String pageTitle = (String) js.executeScript("return document.title;");
A"" (empty string)
BThe current page's title as a String
Cnull
DThrows a ClassCastException
Attempts:
2 left
💡 Hint
Remember that executeScript returns an Object that you can cast to the expected type.
assertion
intermediate
2:00remaining
Which assertion correctly verifies JavaScript execution result?
You execute JavaScript to get the number of links on a page. Which assertion correctly checks that the number is 10?
Selenium Java
JavascriptExecutor js = (JavascriptExecutor) driver;
Long linkCount = (Long) js.executeScript("return document.getElementsByTagName('a').length;");
AassertEquals(10, linkCount);
BassertTrue(linkCount == 10);
CassertEquals(10L, linkCount);
DassertEquals("10", linkCount);
Attempts:
2 left
💡 Hint
Check the type returned by executeScript for numeric values.
🔧 Debug
advanced
2:00remaining
Why does this JavaScript execution throw an exception?
This Selenium Java code throws a ClassCastException. What is the cause?
Selenium Java
JavascriptExecutor js = (JavascriptExecutor) driver;
String result = (String) js.executeScript("return 5 + 5;");
AexecuteScript returns a Long for numeric results, not a String
BThe JavaScript syntax is invalid
CCasting to String is always safe here
DexecuteScript cannot return primitive values
Attempts:
2 left
💡 Hint
Check the Java type returned for JavaScript numeric results.
🧠 Conceptual
advanced
2:00remaining
What is the best way to scroll to an element using JavaScript in Selenium?
You want to scroll the page so a specific WebElement is visible. Which JavaScript snippet executed via Selenium is best?
Selenium Java
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(By.id("myElement"));
Ajs.executeScript("element.scrollIntoView();");
Bjs.executeScript("window.scrollTo(0, 1000);");
Cjs.executeScript("document.body.scrollTop = 1000;");
Djs.executeScript("arguments[0].scrollIntoView();", element);
Attempts:
2 left
💡 Hint
Use arguments to pass WebElement safely to JavaScript.
framework
expert
3:00remaining
How to safely execute asynchronous JavaScript and get result in Selenium Java?
You want to execute asynchronous JavaScript that calls a callback when done. Which Selenium method and approach is correct?
AUse executeAsyncScript and call arguments[arguments.length - 1]() in JS when done
BUse executeScript and wait manually for result
CUse executeScript and return a Promise from JS
DUse executeAsyncScript but do not call the callback in JS
Attempts:
2 left
💡 Hint
Asynchronous JS requires a callback to signal completion.