一、模态框的定义:

  模态对话框(Modal Dialogue Box , 又叫做模式对话框),是指在用户想要对话框以外的应用程序进行操作时候,必须先对该对话框进行响应.如单击【确定】或者【返回】按钮等关闭该对话框!

1.警告框
  警告框经常用于确保用户可以得到某些信息。
  当警告框出现后,用户需要点击确定按钮才能继续进行操作。
  语法:
代码如下:

alert("文本")

2.确认框

  确认框用于使用户可以验证或者接受某些信息。

  当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。

  如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。

语法:

confirm("文本")

3.提示框

  提示框经常用于提示用户在进入页面前输入某个值。

  当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。

  如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。

语法:

prompt("文本","默认值")

二、测试页面准备

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>模态框</title>
</head>
<script type="text/javascript">
window.onload = function(){
document.getElementById("input_1").onclick = function(){
alert("充值成功!");
};
document.getElementById("input_2").onclick = function(){
confirm("确认充值50元?")
};
document.getElementById("input_3").onclick = function(){
prompt("请输入充值金额?","100");
};
} </script>
<body>
测试练习模态框的处理:<br><br>
1.警告框
<input type="button" id="input_1" value="点击弹出警告框"><br><br>
2.确认框
<input type="button" id="input_2" value="点击弹出确认框"><br><br>
3.提示框
<input type="button" id="input_3" value="点击弹出提示框"><br><br>
</body>
</html>

三、代码实现

package cn.test;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class Test01 { public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
WebDriver driver =null;
try {
driver = new ChromeDriver();
driver.get("file:///C:/Users/Administrator/Desktop/test/ModalDialogueBox.html");
driver.manage().window().maximize();
//1.点击弹出警告框
driver.findElement(By.id("input_1")).click();
Thread.sleep(3000);
//1.1 处理弹出警告框
System.out.println("获取警告框文本值:"+driver.switchTo().alert().getText());
driver.switchTo().alert().accept();//模拟确认操作
//2. 点击弹出确认框
driver.findElement(By.id("input_2")).click();
Thread.sleep(3000);
//2.1 处理弹出确认框
System.out.println("获取确认框文本值:"+driver.switchTo().alert().getText());
driver.switchTo().alert().accept();//模拟确认操作
//2.2 再次点击弹出确认框演示取消操作
driver.findElement(By.id("input_2")).click();
Thread.sleep(3000);
driver.switchTo().alert().dismiss();//模拟取消操作
//3.0 点击弹出提示框
driver.findElement(By.id("input_3")).click();
System.out.println("获取提示框文本值:"+driver.switchTo().alert().getText());
//3.1 处理弹出提示框
driver.switchTo().alert().sendKeys("500");
Thread.sleep(3000);
driver.switchTo().alert().accept();//模拟确认操作
//3.2 再次点击弹出提示框演示取消操作
driver.findElement(By.id("input_3")).click();
Thread.sleep(3000);
driver.switchTo().alert().dismiss();//模拟取消操作
Thread.sleep(3000);
} catch (Exception e) {
e.printStackTrace();
} finally{
System.out.println("执行结束,关闭浏览器");
driver.quit();
} } }

四、学习后总结。不足之处后续补充修正!

【java+selenium3】模态框处理(五)的更多相关文章

  1. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  2. 模态框zeroModal快速引入

    最基本快速接入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageE ...

  3. Bootstrap -- 插件: 模态框、滚动监听、标签页

    Bootstrap -- 插件: 模态框.滚动监听.标签页 1. 模态框(Modal): 覆盖在父窗体上的子窗体. 使用模态框: <!DOCTYPE html> <html> ...

  4. CSS之样式属性(背景固定、圆形头像、模态框)

    CSS属性 一.宽和高 width属性可以为元素设置宽度. height属性可以为元素设置高度. 块级标签才能设置宽度,内联标签的宽度由内容来决定. div {width: 1000px;backgr ...

  5. 带事件的Bootstrap模态框的使用2

    模态框中显示一些基本的数据以及触发一些基本的JS函数 <%@ page language="java" contentType="text/html; charse ...

  6. 44 CSS 浮动 模态框 定位

    一.浮动 float : 浮动的盒子不占原来的位置,其下方的盒子会上移 父盒子会发生塌陷现象.同一级盒子right浮动,同级左边的盒子需要左浮动,right浮动的盒子才能上来 由于浮动框不在文档的普通 ...

  7. ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

    0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询.

  8. 201271050130-滕江南-《面向对象程序设计(java)》第十五周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十五周学习总结 博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.c ...

  9. 201871010111-刘佳华《面向对象程序设计(java)》第十五周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第十五周学习总结 实验十三  Swing图形界面组件(二) 实验时间 2019-12-6 第一部分:理论知识总结 5> ...

随机推荐

  1. Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...

  2. k8s garbage collector分析(2)-处理逻辑分析

    garbage collector介绍 Kubernetes garbage collector即垃圾收集器,存在于kube-controller-manger中,它负责回收kubernetes中的资 ...

  3. 常用的excel技巧

    隐藏 冻结 设置下拉选项 复制.移动sheet 自动求和

  4. 网站优化之mysql优化

    一,网站优化之mysql优化:1.前缀索引,可以通过前缀去识别唯一性,把这个前缀作为索引内容,可以节省存储索引的空间,从而提高索引的查询速度.distinct 排重操作2,2.in条件索引使用同时查询 ...

  5. 『Python』matplotlib实现动画效果

    一般而言,在绘制复杂动画时,主要借助模块animation来完成 import numpy as np import matplotlib.pyplot as plt import matplotli ...

  6. Java8通过Function获取字段名(获取实体类的字段名称)

    看似很鸡肋其实在某些特殊场景还是比较有用的.比如你将实体类转Map或者拿到一个Map结果的时候,你是怎么获取某个map的key和value.方法一:声明 String key1="name& ...

  7. CSharpEntityFramework与CodeFirst实践

    CSharpEntityFramework与CodeFirst实践 前言 当我们进行开发的时候,常常会用到数据库来对数据进行持久化的操作,有的时候,我们并不想要在进行代码开发的过程中,还去关注数据库的 ...

  8. ArcPy获取栅格属性

    获取栅格属性 (数据管理) 描述 从元数据和栅格数据集的相关描述性统计数据中检索信息. 使用方法 返回的属性将显示在结果窗口中. 此工具的 Python 结果是地理处理结果对象.要获取字符串值,请使用 ...

  9. 题解「BZOJ4310」跳蚤

    题目传送门 Description 现在有一个长度为 \(n\) 的字符串,将其划分为 \(k\) 段,使得这 \(k\) 段每一段的字典序最大子串中字典序最大的字符串字典序尽量小.求出这个字符串. ...

  10. 题解 「BJOI2018 治疗之雨」

    题目传送门 题目大意 有一个初始为 \(p\) 的数,每次操作分为以下两个: 有 \(\frac{1}{m+1}\) 的概率$+1,但是中途 \(p\) 的最大值只能为 \(n\)$ 有 \(k\) ...