JavascriptExecutor
Why we use it?
To enhance the capabilities of the existing scripts by performing javascript injection into our application under test.
In simple words “Javascript can be executed within the browser with the help of JavaScript Executor.”
Package:-
import org.openqa.selenium.JavascriptExecutor;
Syntax:-
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(Script,Arguments);
script - The JavaScript to execute
Arguments - The arguments to the script.(Optional)
Scenario’s
1.How to generate Alert Pop window in selenium?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
Js.executeScript("alert('hello world');");
2.How to click a button in Selenium WebDriver using JavaScript
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);
3.How to refresh browser window using Javascript ?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
driver.executeScript("history.go(0)");
4.How to get innertext of the entire webpage in Selenium?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
string sText = js.executeScript("return document.documentElement.innerText;").toString();
5.How to get the Title of our webpage ?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
string sText = js.executeScript("return document.title;").toString();
6.How to perform Scroll on application using Selenium
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
//Vertical scroll - down by 50 pixels
js.executeScript("window.scrollBy(0,50)");
Note:- for scrolling till the bottom of the page we can use the code like
js.executeScript("window.scrollBy(0,document.body.scrollHeight)");
7.How to click on a SubMenu which is only visible on mouse hover on Menu?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
//Hover on Automation Menu on the MenuBar
js.executeScript("$('ul.menus.menu-secondary.sf-js-enabled.sub-menu li').hover()");
8.Implement Highlight in Selenium?
9.How to navigateto different page using Javascript?
Code:-
JavascriptExecutor js = (JavascriptExecutor)driver;
//Navigate to new Page
js.executeScript("window.location = 'https://www.facebook.com/uftHelp'");
Working Demo:-
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver; public class JavaScriptExecuter { public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
//Launching the browser application
driver.get("http://www.uftHelp.com");
//Adding wait
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//Maximize window
driver.manage().window().maximize();
//Creating the Javascriptexecutor interface object by Type casting
JavascriptExecutor js = (JavascriptExecutor)driver;
//Fetching the Domain Name
String sDomain = js.executeScript("return document.domain;").toString();
System.out.println("Domain = "+sDomain);
//Fetching the URL
String sURL = js.executeScript("return document.URL;").toString();
System.out.println("URL = "+sURL);
//Fetching the Title
String sTitle = js.executeScript("return document.title;").toString();
System.out.println("Title = "+sTitle);
//Vertical scroll - down by 200 pixels
js.executeScript("window.scrollBy(0,200)");
System.out.println("Successfully did the vertical scroll by 200px"); } }
JavascriptExecutor的更多相关文章
- SELENIUM2 使用JavascriptExecutor在页面Javascipt执行
目的: 1. 执行一段JS,来改变HTML2. 一些非标准控件无法用selenium2的API时,可以执行JS的办法来取代 主要操作:JavascriptExecutor j = (Javascrip ...
- selenium的操作JS命令的接口JavascriptExecutor的介绍
nterface JavascriptExecutor 接口 JS执行器 public interface JavascriptExecutor 表示可以执行JavaScript的驱动程序,提供对机制 ...
- 使用JavascriptExecutor将页面滚动到最底部
使用如下代码,将页面滚动到最底部 @Test(enabled = true) public void scroll(){ String jsStr="window.scrollTo(0,do ...
- 使用JavascriptExecutor改变页面元素
如下如html的页面代码 <html> <body> <input type="text" name="text" value=& ...
- (转)Selenium-11: Execute JavaScript with JavascriptExecutor
Outline Sometimes we cannot handle some conditions or problems with Webdriver, web controls don’t re ...
- webdriver学习笔记
该篇文章记录本人在学习及使用webdriver做自动化测试时遇到的各种问题及解决方式,问题比较杂乱.问题的解决方式来源五花八门,如有疑问请随时指正一遍改正. 1.WebDriver入门 //webdr ...
- selenium 等待页面加载完成
一.隐形加载等待: file:///C:/Users/leixiaoj/Desktop/test.html 该页面负责创建一个div <html> <head> <tit ...
- selenium 常见面试题以及答案(Java版)
1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
随机推荐
- div垂直居中
width:265px; height:130px; display:table-cell; vertical-align:middle; text-align:center;
- sys.stdout.write与sys.sterr.write(二)
目标: 1.使用sys.stdout.write模拟火车道轨迹变化过程 2.使用sys.stderr.write模拟火车道轨迹变化过程 1.sys.stdout.write模拟火车道轨迹变化 代码如下 ...
- 配置Openfire的eclipse项目
官方文档在这里 Install JDK Download JDK and install them. The least version should be 1.5. I use 1.6. Sorry ...
- JSPatch打补丁
http://www.cnblogs.com/dsxniubility/p/5080875.html http://www.jianshu.com/p/0cb81bf23d7a
- ios-深度解析二维码的生成与使用
利用一个小demo来对二维码进行学习,总共四个界面(主界面,生成二维码界面,识别二维码界面,扫描二维码界面) 一.二维码的介绍 1.什么是二维码? 二维条码/二维码是用某种特定的 ...
- 【C# 进阶】事件!直接上事件!
http://www.tracefact.net/csharp-programming/delegates-and-events-in-csharp.aspx ZiYang 张,何许人也?看了他写的博 ...
- linux centos service 参数详解
Service文件 开门见山,直接来看两个实际的服务配置文件吧. 第一个配置是 CoreOS 系统中 Docker 服务的 Unit 文件,路径是 /usr/lib/systemd/system/do ...
- Android studio 运行设置
在下载完SDK和Android studio后,修改android studio安装目录下bin/idea.properties文件,在末尾添加:idea.fatal.error.notificati ...
- Tanks坦克大战
创建工程,场景: 将素材导入,Unity5以上的版本,无需担心素材包的路径问题,中文路径也可以直接导入了,简单方法就是将素材包直接拖到Project面板 游戏所需要的场景在Prefabs里的Level ...
- Alwayson 与 mirror
--将主副本改为同步模式和自动故障转移,将其中一个辅助副本改为同步辅助副本和自动故障转移 USE [master]GOALTER AVAILABILITY GROUP [TESTDB5AG]MODIF ...