JAVASCRIPT Executor:
--------------------
JavascriptExecutor : predefined Interface in Selenium
// which has some methods and can be used to execute javascript code in browser
some times, Selenium cannot click on button, checkboxes, send the data to textbox ...etc
at that time - we will go for JAVASCRIPT Executor
if we want to click the hidden elements -->
to send the data in disabled element -->
driver.findElement().click(); -- not clicking button
driver.findElement().sendkeys("Ramu"); -- not entering value in textbox
-By using Javascript executor -
we can click button,
enter value in textbox,
select the radio button,
select checkbox.. etc
methods :
-----------
1. executeScript(String script, WebEleRef)
executeScript(String script); --> not avilable in API documnetation
2. executeAsyncScript(String script, Object... args)
Execute "Javascript" code in browser :
----------------------------------
Rt click Browser > Inspect > Go to 'Console' tab and click 'console' tab> write Javascript code
1 +2 Press enter
3-1 Press enter
-----------------------------------
Browser handling by "JavaScriptExecutor" :
--------------------------------------
Selenium code:
-------------
package JavaScriptExecutorBasics;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class BrowserHandlingByJSE {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");
// . Represents current project folder name
// //open chrome browser
WebDriver driver = new ChromeDriver();
driver.get("file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html");
//*********************************
// Execute javascript code
// Selenium --> driver.getTitle();
// get title of browser using Javascript -- getTitle()
// document --refers browser or html document or page
// Js code --> document.title;
JavascriptExecutor jse = (JavascriptExecutor) driver;
//
// // jse.executeScript("some js code");
Object otitle = jse.executeScript("document.title;");
// here document refer browser or htmlpage
System.out.println("otitle="+otitle);// otitle=null
// get/return some value from method --> return k/w
otitle = jse.executeScript("return document.title;");
System.out.println("otitle="+ otitle);
//otitle=All webobjects MyTitle Sumanth
// Note: dont forget to use return k/w in javascript when we want to get some o/p (or) value
// get url of browser using JSE ? getCurrentURL()
// JS code --> document.URL;
Object ourl = jse.executeScript("return document.URL;");
System.out.println("ourl="+ourl);
//url=file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html
// display "alert popup" window on browser with given msg ''customer 123 created succefully'\
// JS code --> alert('customer 123 created succefully');
jse.executeScript("alert('customer 123 created succefully');");
}
}
No comments:
Post a Comment