Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型

阅读目录

对话框类型

1.  警告框: 用于提示用户相关信息的验证结果, 错误或警告等

2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮

3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮

测试页面

用如下页面为例进行讲解,  包括了警告框,提示框,确认框

http://sislands.com/coin70/week1/dialogbox.htm

Selenium 操作对话框的代码

    public static void testAlert(WebDriver driver)
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url); WebElement alertButton = driver.findElement(By.xpath("//input[@value='alert']"));
alertButton.click(); Alert javascriptAlert = driver.switchTo().alert();
System.out.println(javascriptAlert.getText());
javascriptAlert.accept();
} public static void testPrompt(WebDriver driver) throws Exception
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url); WebElement promptButton = driver.findElement(By.xpath("//input[@value='prompt']"));
promptButton.click();
Thread.sleep(2000);
Alert javascriptPrompt = driver.switchTo().alert();
javascriptPrompt.sendKeys("This is learning Selenium");
javascriptPrompt.accept(); System.out.println(javascriptPrompt.getText()); javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.accept(); Thread.sleep(2000);
promptButton.click();
javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.dismiss();
Thread.sleep(2000);
javascriptPrompt=driver.switchTo().alert();
javascriptPrompt.accept();
} public static void testConfirm(WebDriver driver) throws Exception
{
String url="http://sislands.com/coin70/week1/dialogbox.htm";
driver.get(url); WebElement confirmButton = driver.findElement(By.xpath("//input[@value='confirm']"));
confirmButton.click();
Thread.sleep(2000);
Alert javascriptConfirm = driver.switchTo().alert();
javascriptConfirm.accept();
Thread.sleep(2000);
javascriptConfirm = driver.switchTo().alert();
javascriptConfirm.accept();
}
 
 

最新文章

  1. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。
  2. Unity5网络模块UNet介绍
  3. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
  4. ucenter同步登陆机制
  5. WPF 之 自定义窗体标题栏
  6. libvirt之virt-install
  7. 06-自定义Attribute标记案例
  8. win7 奇怪的temp用户
  9. linux下java调用.so动态库方法2: JNA
  10. perl json模块
  11. 基于jquery 封装的 select 小控件,解决 IE6 7 8里 select 边框 高度 无法遮挡等问题
  12. js取数组最大值的四种方式
  13. [工具] Altova UModel® 2017 is a UML tool for software modeling & application development.
  14. poi读取word的内容
  15. WDA基础五:ALV组件的使用
  16. 解决nginx下不能require根目录以外的文件
  17. PAT 甲级 1151 LCA in a Binary Tree
  18. erlang 中文社区 下载
  19. c++ 用构造函数
  20. C++11新特性之六——元编程

热门文章

  1. HTML5的新增方法
  2. 代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。
  3. node的 thunkify模块说明
  4. angular的$scope
  5. Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法
  6. Android first---外置内存剩余空间大小
  7. QLPreViewController的初步实用
  8. 获取div或者元素相对于屏幕坐上角的绝对位置
  9. pyqt4学习笔记
  10. Java知识积累3-XML的DOM解析修改和删除方法