以如下页面为例:

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. Delphi+MySQL:TADOQuery使用插入中文乱码解决方法

    Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...

  2. hadoop 学习(二)

    我们很荣幸能够见证Hadoop十年从无到有,再到称王.感动于技术的日新月异时,希望通过这篇内容深入解读Hadoop的昨天.今天和明天,憧憬下一个十年. 本文分为技术篇.产业篇.应用篇.展望篇四部分 技 ...

  3. mysql PROCEDURE ANALYSE() 用法

    PROCEDURE ANALYSE() 会让 MySQL 帮你去分析你的字段和其实际的数据,并会给你一些有用的建议.只有表中有实际的数据,这些建议才会变得有用,因为要做一些大的决定是需要有数据作为基础 ...

  4. PHP网站渗透中的奇技淫巧:检查相等时的漏洞

    PHP是现在网站中最为常用的后端语言之一,是一种类型系统 动态.弱类型的面向对象式编程语言.可以嵌入HTML文本中,是目前最流行的web后端语言之一,并且可以和Web Server 如apache和n ...

  5. bash 文件头尾插入字符

    头部插入:sed -i '1i\Insert this line' file.txt 尾部插入:echo "hehe"  >> tmp.txt

  6. [Unit Testing] Test async function with Jasmine

    Most of time, when we want to test function call inside a promise, we can do: it('Should be async', ...

  7. vue2.0 自定义过滤器(filter)实例

    一.过滤器简介 (1)过滤器创建 过滤器的本质 是一个有参数 有返回值的方法 new Vue({ filters:{ myCurrency:function(myInput){ return 处理后的 ...

  8. Python基础——数据类型、流程控制、常用函数

    Python tutorial :Python网站上的对 Python 语言和系统的基本概念和功能进行的非正式的介绍. 在学习Python之前,我们需要学会在各个平台配置Python的运行环境,下文中 ...

  9. bash_profile打不开怎么办,用nano .bash_profile打开

    I’ve spent years curating a collection of Mac bash aliases and shortcuts to make my life easier. My ...

  10. Writing a Simple YARN Application 从hadoop生态抽出yarn ,单独使用yarn

    Apache Hadoop 2.9.1 – Hadoop: Writing YARN Applications https://hadoop.apache.org/docs/current/hadoo ...