以如下页面为例:

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

示例代码:

pachage com.learningselenium.normalwebdriver;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.Alert;

public class testDialogs{

  WebDriver driver = new FirefoxDriver();

  @Before

  publid void setUp() throws Exception{

    driver.get("http://sislands.com/coin70/week1/dialogbox.htm");

  }

  @Test

  public void testAlertDialog() throws Exception{

    WebElement alertButton = driver.findElement(By.xpath("//input[@value = 'alert']"));

    alertButton.click();

    Alert javascriptAlert = driver.switchTo().alert();

    System.out.println(javascriptAlert.getText());

    javascriptAlert.accept();

  }

  @Test

  public void testPromptDialog() throws Exception{

    WebElement promptButton= driver.findElement(By.xpath("//input[@value = 'prompt']"));

    alertButton.click();

    Alert javascriptPrompt = driver.switchTo().alert();

    javascriptPrompt.sendKeys("This is a test of prompt");

    javascriptPrompt .accept();  //确认按钮

    System.out.println(javascriptPrompt.getText());

    javascriptPrompt = driver.switchTo().alert();

    javascriptPrompt .accept();

    promptButton.click();

    javascriptPrompt = driver.switchTo().alert();

    System.out.println(javascriptPrompt.getText());

    javascriptPrompt.dismiss();   // 取消按钮

    

    javascriptPrompt = driver.switchTo().alert();

    System.out.println(javascriptPrompt.getText());

    javascriptPrompt.accept();

  }

  @Test

  public void testConfirmDialog() throws Exception{

    WebElement confirmButton= driver.findElement(By.xpath("//input[@value = 'confirm']"));

    confirmButton.click();

    Alert javascriptConfirm= driver.switchTo().alert();

    javascriptConfirm.accept();

    javascriptConfirm= driver.switchTo().alert();

    System.out.println(javascriptConfirm.getText());

    javascriptConfirm.accept();    //确认按钮

    confrimButton.click();

    javascriptConfirm= driver.switchTo().alert();

    System.out.println(javascriptConfirm.getText());

    javascriptConfirm.dismiss();    // 取消按钮

    

    javascriptPrompt = driver.switchTo().alert();

    System.out.println(javascriptConfirm.getText());

    javascriptConfirm.accept();

  }

  @After

  public void tearDown() throws Exception{

    driver.quit();

  }

}

[Selenium] 操作 警告框、提示框、确认框的更多相关文章

  1. 15 JavaScript弹窗(警告框alert、确认框confirm、提示框Promt)

    警告框:window.alert().通常用于确认用户可以得到某些信息 <body> <script type="text/javascript" charset ...

  2. js创建弹框(提示框,待确认框)

    ;;} html,body{text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-user-select:none;} a{color ...

  3. odoo开发笔记 -- 异常、错误、警告、提示、确认信息显示

    1.检查业务逻辑中的错误,终止代码执行,显示错误或警告信息: raise osv.except_osv(_('Error!'), _('Error Message.')) 示例代码: #删除当前销售单 ...

  4. selenium操作隐藏的元素 (下拉框类型)

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: Python 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操 ...

  5. openerp学习笔记 错误、警告、提示、确认信息显示

    1.检查业务逻辑中的错误,终止代码执行,显示错误或警告信息: raise osv.except_osv(_('Error!'), _('Error Message.')) 示例代码: #删除当前销售单 ...

  6. 四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现

    原文:四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现 虽然说现在官方的自带插件已经有很多了,但是有时候往往不能满足我们 ...

  7. Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  8. JavaScript 中创建三种消息框:警告框、确认框、提示框。

    网址:http://www.w3school.com.cn/js/js_popup.asp 警告框 警告框经常用于确保用户可以得到某些信息. 当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语 ...

  9. JavaScript 消息框,警告框,确认框,提示框

    1.警告框 警告框经常用于确保用户可以得到某些信息. 当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语法: alert("文本") 2.确认框 确认框用于使用户可以验证或 ...

随机推荐

  1. codevs——1036 商务旅行

    1036 商务旅行  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 某首都城市的商人要经常 ...

  2. 某考试 T1 line

    状压dp+矩阵转移,据说正解是dfs出的合法状态,,但难道不是三个for就行了吗2333 #include<iostream> #include<cmath> #include ...

  3. Ajax向前后台传递json和转换

    学生管理系统MVC模式设计心得: jquery .ajax提交data数据格式 jquery 的Ajax方法提交数据,但是是多个参数,具体data的格式如下: data提交的数据类型为:Object  ...

  4. 【Todo】Java学习笔记 100==100 & Reflection API & Optional类详解 & DIP、IoC、DI & token/cookie/session管理会话方式

    为什么1000 == 1000返回为False,而100 == 100会返回为True?   Link Java Reflection API:Link Java8 Optional 类深度解析: L ...

  5. 【Todo】Spark运行架构

    接上一篇:http://www.cnblogs.com/charlesblc/p/6108105.html 上一篇文章中主要参考的是 Link 这个系列下一篇讲的是Idea,没有细看,又看了再下一篇: ...

  6. Android访问网络数据的几种方式Demo

    Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍四种常用网络请求方式,我这边是通过Android单元测试来完成这四种方法的,还不清楚Android的单元测试的同学们请看 ...

  7. 区间重合判断[poj2808 校门外的树]

    题目:http://bailian.openjudge.cn/practice/2808/ 参考了文章,重写了代码:http://www.cnblogs.com/youxin/p/3266617.ht ...

  8. ngnix

    nginx的平滑重启 博客分类: nginx nginx平滑重启  在研发过程中,修改nginx的配置文件nginx.conf是很平常的事,需要重启nginx.如果我们直接reload是有一定风险的, ...

  9. 在运行hadoop是出现Master的9000端口拒绝访问的情况

    出现9000端口拒绝访问的情况有可能是防火墙没有开放9000端口,可以选择关闭防火墙或者卸载防火墙,如果还是无法解决这种情况可能是因为hadoop的启动顺序不对. 应该按照如下得顺序启动 Step2: ...

  10. 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结

    史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...