Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
54
rated 0 times [  58] [ 4]  / answers: 1 / hits: 20220  / 6 Years ago, sun, october 7, 2018, 12:00:00

What is JavaScript Executor in Selenium WebDriver?


What is the use of it and how can we use this in Selenium WebDriver?


An example would be appreciated.


More From » java

 Answers
12

JavascriptExecutor


JavascriptExecutor is the Selenium interface which is being implemented by all the following classes:



  • FirefoxDriver

  • ChromeDriver

  • InternetExplorerDriver

  • EdgeDriver

  • OperaDriver

  • SafariDriver

  • RemoteWebDriver

  • EventFiringWebDriver

  • HtmlUnitDriver


While you execute your Selenium script at times because of cross domain policies browsers enforce your script execution may fail unexpectedly and without adequate error logging. This is particularly pertinent when creating your own XHR request or when trying to access another frame.


You will find a detailed discussion in Uncaught DOMException: Blocked a frame with origin “http://localhost:8080” from accessing a cross-origin frame while listing the iframes in page


JavascriptExecutor interface provides two methods as follows:



  • executeScript(): This method executes JavaScript in the context of the currently selected frame or window. The script fragment provided will be executed as the body of an anonymous function. Within the script you need to use document to refer to the current document. Note that local variables will not be available once the script has finished executing, though global variables will persist.



  • executeAsyncScript(): This method executes an asynchronous piece of JavaScript in the context of the currently selected frame or window. Unlike executing synchronous JavaScript, scripts executed with this method must explicitly signal they are finished by invoking the provided callback. This callback is always injected into the executed function as the last argument.






Example


A couple of examples:





Reference


You also can find a couple of detailed discussions about the arguments in:





tl;dr


Cross-domain policy file specification


[#53358] Wednesday, October 3, 2018, 6 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
malkajillc

Total Points: 652
Total Questions: 107
Total Answers: 98

Location: Finland
Member since Sat, Nov 6, 2021
3 Years ago
malkajillc questions
;