js框,就是JavaScript中的警告框(alert),确认框(confirm),提示框(prompt),他们都是模态窗口。什么是模态窗口,大家可以自行百度一下,简单说就是弹出的窗口是在最顶端的,你点击文档,无法切换到文档,它总是在最顶端,最先接受用户的响应,而且这种框同时只能存在一个。这有点像播放器的当播放时总在最前一样。

  Selenium中对js框的操作非常简单,js框在Selenium中被抽象成Alert对象,只有四个方法:

  void accept() :点击“确定”按钮

  void dismiss() :点击“取消”按钮

  Stirng getText() :获得窗口的提示信息

  void sendKeys(String keysToSend) :在提示框中输入文档

  在操作这些框前,当然需要先切换到他们,所以还需知道一个方法:

  Alert switchTo().alert() :切换到js框,并且返回一个Alert对象

  我们将通过讲解最复杂的提示框来说明Alert对象的用法。

  首先,我们在html文件夹中,增加一个html文件,jsWin.html,其中的代码是这样的

<!DOCTYPE html>
<html>
<head>
<meta>
<title></title>
</head>
<body> <p>点击按钮查看输入的对话框。</p>
<button id="button1" onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction(){
var x;
var person=prompt("请输入你的名字","");
if (person!=null && person!=""){
x="你好 " + person + "! 今天感觉如何?";
document.getElementById("demo").innerHTML=x;
}
}
</script> </body>
</html>

我们要进行的操作是,点击页面上的按钮,输入“Selenium”,然后按确定

代码如下:

     //得到WebDriver
WebDriver driver=DriverHelper.CreateChromeDriver();
driver.get("file:///D:/WorkSpace/SeleniumTest/html/jsWin.html"); //找到页面上的按钮,并点击弹出提示框
driver.findElement(By.id("button1")).click(); Thread.sleep(1000); Alert prompt = driver.switchTo().alert();
//输出提示框的提示信息,此处最后输出“请输入你的名字”
System.out.print(prompt.getText()); Thread.sleep(1000);
//在提示框的文本框中,输入Selenium,并点击确定
prompt.sendKeys("Selenium");
prompt.accept();

  最后的运行效果如下:

js框操作-----Selenium快速入门(八)的更多相关文章

  1. Cookie操作-----Selenium快速入门(十一)

    什么是cookie?顾名思义,就是饼干,小甜饼.而根据读音则是“曲奇”的意思,相信不少的人都吃过.而在网络上,cookie是指浏览器在本地的一种少量数据的存储方式.例如,我们常见的,登陆的时候有个ch ...

  2. Selenium下拉菜单(Select)的操作-----Selenium快速入门(五)

    对于一般元素的操作,我们只要掌握本系列的第二,三章即可大致足够.对于下拉菜单(Select)的操作,Selenium有专门的类Select进行处理.文档地址为:http://seleniumhq.gi ...

  3. 元素(WebElement)-----Selenium快速入门(三)

    上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法:  返回值  方法名  说 ...

  4. 转: Vue.js——60分钟组件快速入门(上篇)

    转自: http://www.cnblogs.com/keepfool/p/5625583.html Vue.js——60分钟组件快速入门(上篇)   组件简介 组件系统是Vue.js其中一个重要的概 ...

  5. 隐式等待-----Selenium快速入门(九)

    有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现 ...

  6. MongoDB学习(五)使用Java驱动程序3.3操作MongoDB快速入门

    [引言] 毕竟现在MongoDB还是出于成长阶段,所以现在网上相关的资料很少,而且大部分还都是针对于MongoDB的老版本的.再加上MongoDB的频繁升级.重大更新等等,导致菜鸟学习的难度增大. 好 ...

  7. Vue.js——60分钟组件快速入门

    一.组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HT ...

  8. Selenium快速入门(上)

    浏览器驱动下载 Edge浏览器 Firefox浏览器 Safari浏览器 Chrome浏览器 PhantomJS浏览器 下载完成之后,添加到环境变量. 声明浏览器对象 selenium支持的浏览器版本 ...

  9. Vue.js——60分钟组件快速入门(上篇)

    组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML ...

随机推荐

  1. Top K算法

    应用场景: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节.        假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果 ...

  2. Python3 chr() 函数

    Python3 chr() 函数 Python3 内置函数 描述 chr() 用一个整数作参数,返回一个对应的字符. 语法 以下是 chr() 方法的语法: chr(i) 参数 i -- 可以是 10 ...

  3. Java List/HashSet/HashMap的排序

    在对Java无序类集合,如List(ArrayList/LinkedList).HashSet(TreeSet有序).HashMap等排序时,Java中一个公共的类Collections,提供了对Ja ...

  4. ffmpeg 入门教程

    1.在terminal,安装ffmpeg开源库 #brew install ffmpeg 2.新建一个目录first_ffmpeg,并在first_ffmpeg目录下新建ffmpeg目录 3.拷贝/u ...

  5. ILSpy 反编译.NET

    ILSpy 是一个开源的.NET反编译工具,简洁强大易用是它的特征.在绝大多数情况下,它都能很好的完成你对未知程序集内部代码的探索.

  6. 使用 Php Artisan Tinker 来调试你的 Laravel

    Posted on 2016年6月19日 by ichou 本文翻译自:Tinker with the Data in Your Laravel Apps with Php Artisan Tinke ...

  7. Jmeter中控制某一段脚本失败后重复执行,并在每个HTTP Request名字中加上循环次数

    ================================================== 1.While Controller之前有一个BeanShell Sampler,用于Init N ...

  8. CSV 文件

    CSV 文件 CSV(Comma Separated Values 逗号分隔值) 是一种文件格式(如.txt..doc等),也可理解 .csv 文件就是一种特殊格式的纯文本文件.即是一组字符序列,字符 ...

  9. 内网IP和公网IP的区别

        内网IP和公网IP的区别     什么是内网IP: 一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网.而 ...

  10. QQ绝招

    1.让QQ头像永远在前 打开"个人设定"窗口,然后在自己的昵称前点一下鼠标,再按空格键插入一两个空格(不能太多了,要不然昵称就不能完整显示了),然后点击"修改" ...