以如下页面为例:

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. Eclipse编译无响应

    Eclipse编译无响应 Eclipse进程无响应结束进程后,或电脑直接断电后,重新打开Eclipse偶尔重新编译会卡进度,下面有一种解决方案: 首先找到卡进度的工程的名字,关闭Eclipse,找到该 ...

  2. Linux下的搜索命令grep(转)

    一.简介 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具, ...

  3. 使用MVP模式重构代码

    之前写了两篇关于MVP模式的文章,主要讲得都是一些概念,这里谈谈自己在Android项目中使用MVP模式的真实感受,并以实例的形式一起尝试来使用MVP模式去重构我们现有的代码. 有兴趣的童鞋可以先去阅 ...

  4. flask如何设置模板语言Jinjia?如何查看路由视图函数映射?

    首先flask的模板和静态文件命名必须是确定的templates和static pycharm的模板语言设置

  5. LeetCode 3_Longest Substring Without Repeating Characters

    LeetCode 3_Longest Substring Without Repeating Characters 题目描写叙述: Given a string, find the length of ...

  6. 网络编程中的常见陷阱之 0x十六进制数(C++字面值常量)

    十六进制数相等的推断 请问例如以下程序的输出是神马? #include <iostream> #include <string> using namespace std; in ...

  7. 我理解的ios和android

    近期着手了几个android和ios的项目,如今说下我的几个对他们的理解 从设计上来讲.我觉得android 它更像是个网页,一个页面跳到另外一个页面,两者之间的关联不是非常大,仅仅能传递一些简单的參 ...

  8. Classification and logistic regression

    logistic 回归 1.问题: 在上面讨论回归问题时.讨论的结果都是连续类型.但假设要求做分类呢?即讨论结果为离散型的值. 2.解答: 假设: 当中: g(z)的图形例如以下: 由此可知:当hθ( ...

  9. RPM安装mysql5.6

    原文 http://blog.csdn.net/liumm0000/article/details/18841197 a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名 ...

  10. 协议的注冊与维护——ndpi源代码分析

    在前面的文章中,我们对ndpi中的example做了源代码分析.这一次我们将尽可能深入的了解ndpi内部的结构和运作.我们将带着以下三个目的(问题)去阅读ndpi的源代码. 1.ndpi内部是怎么样注 ...