Selenium自动化之弹窗处理

1.前言

我们在使用Selenium做Web自动化测试时,页面经常出现弹窗,如果不处理后续的测试脚本就无法正常运行,今天我们就带大家一起来学习如何处理Web页面上的弹窗。

2.Web页面弹窗的分类

弹窗通常有3种:Alert类型弹框、Confirm类型弹框、Prompt类型弹框,这种我们无法通过定位元素来操作。它们的具体特点如下:

  • Alert弹窗:只有信息及确认按钮

  • Confirm弹窗:在Alert弹窗基础上增加了取消按钮

  • Prompt类型弹框:在Confirm的基础上增加了可输入文本内容的功能

3.解决方案

selenium中提供了如下方法来处理弹窗,具体的解决方案如下:

from selenium import webdriverdriver = webdriver.Chrome()
driver.switch_to.alert.accept() #确定、同意;三种弹窗都可使用
driver.switch_to.alert.dismiss() #取消、不同意;confirm和prompt弹窗中使用
title = driver.switch_to.alert.text #打印弹窗信息
alert = driver.switch_to.alert #获取alert对象
alert.send_keys() #Prompt弹窗中输入内容

有些弹窗并非浏览器的alert 窗口,而是html元素,这种对话框只需要按照常规的定位页面元素进行处理即可

4.实战演练

import unittest
from selenium import webdriver
from time import sleepclass TestAlert(unittest.TestCase):def setUp(self):self.driver = webdriver.Chrome()self.driver.implicitly_wait(5)self.driver.maximize_window()def tearDown(self):self.driver.quit()def test_alert(self):self.driver.get(r'http://sahitest.com/demo/alertTest.htm')self.driver.find_element('name','b1').click()alert = self.driver.switch_to.alertprint(alert.text)alert.accept()sleep(2)def test_confirm(self):self.driver.get(r'http://sahitest.com/demo/confirmTest.htm')self.driver.find_element('name','b1').click()alert = self.driver.switch_to.alertprint(alert.text)alert.accept()# alert.dismiss()sleep(2)def test_prompt(self):self.driver.get(r'http://sahitest.com/demo/promptTest.htm')self.driver.find_element('name','b1').click()alert = self.driver.switch_to.alertprint(alert.text)alert.send_keys("CR77777777777777777")sleep(1)alert.accept()sleep(2)if __name__ == '__main__':unittest.main()

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351313.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode98. 验证二叉搜索树(java)

验证二叉搜索树 leetcode98. 验证二叉搜索树题目描述 递归法解题思路代码演示 中序遍历解法解题思路代码演示 二叉树专题 leetcode98. 验证二叉搜索树 leetcode 98.验证二叉搜索树 来源:力扣(LeetCode) 链接:https://leetcode.cn/…

excel手机版_excel仓库管理手机版导出软件

在生产企业管理经营中、时常需要采用excel表格来制作仓库管理,然而excel制作的仓库只能在电脑端操作、非常的不方便。是不是可以由手机来替代同时也可以实现多人协同的管理方式。 事实现移动端的功能非常的强大、利用云服务计算就可以达到excel仓库管理的效果&#…

初识EasyUI

2.1何为EasyUI. EasyUI的全称是“JQuery EasyUI”,是一种基于jQuery、Angular、Vue和React的用户界面的插件的集合,EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样…

养鸡场的计算机管理,养鸡场管理系统7.3 免费版

综合养鸡场管理系统是一款专业的养鸡场专业必备软件,用户在这里可以很好的对鸡场进项系统化的管理,有需要的朋友们快来东坡下载吧! 进鸡及存栏、饲养管理、鸡蛋管理、售鸡管理、饲料管理、药品管理、财务管理八个功能模块 软件介绍 该系统功能…

财务软件Linux版本,免费财务会计软件GnuCash 2.6.17发布

GnuCash开发团队几天前宣布推出其个人和小型企业财务会计软件GnuCash 2.6.17的新维护版本,其中包含各种错误修复和一些翻译更新。 GnuCash 2.6.16之后的更改包括: 如果有交易,请防止更改某些帐户选项 修复Windows的网上银行向导崩溃 打开帐户…

e树企业管理系统 服务器连接,e树企业管理系统erp软件

e树企业管理系统erp软件是一款功能强大的进销存管理软件,软件操作简单,功能实用,支持进销存BOM生产MRP质检(IQC/FQC/PQC)车间日报/简单排产应收应付固定资产实际成本算法财务,欢迎需要的用户下载体验! 功能介绍 1>.进销存BOM生…

致远a8-v5-6.0协同管理软件_易达酒吧管理软件下载-易达酒吧管理软件v10.0免费版...

易达酒吧管理软件顾名思义是一款功能强大,专业实用的优秀酒店管理软件,软件根据服务性行业实际管理要求打造,软件具有会员销售、退还、存款、禁用(挂失、作废、临时禁用)等功能,相当的实用。 基本简介 易达酒吧管理支持打折、计次…

销售管理系统软件免费版(超实用销售管理系统)

说到销售管理系统,相信很多企业并不陌生,是因为销售管理系统已经成为大多数企业最不可或缺的工具。销售管理系统通常提供完整的销售管理功能模块,帮助企业对销售流程进行全面管理,提升销售效率,降低运作成本。该软件支…

实用工具 | 语音文本对齐MFA的安装及使用

Montreal Forced Aligner(MFA)[1]是一个用于将音频和文本进行对齐的工具。它可以用于语音识别、语音合成和发音研究等领域。MFA支持多种语言和语音,用户可以根据需要自定义训练模型。 本博客介绍如何使用MFA对音频和文本进行对齐&#xff0c…

几款免费开源的企业管理软件

1、2bizbox 官方地址:http://www.2bizbox.cn/ 2BizBox就是为中小制造企业量身定做的高品质ERP 。 2BizBox ERP软件不但永久免费,还提供了完备的后续增值服务:云ERP、培训、实施、二次开发、BizCare客户保障计划等,这些服务为企业实施ERP提供…

2022好用的手机库存管理软件排行榜前十名 手机库存管理app

市面上的服装进销存软件那么多?该如何选到适合自己的那款呢?最好的方法是看看大家的选择。 大众的选择即是合适的,这是有道理的,顺便看看大家的评价来选择,就不会差了。小编整理了最受欢迎的十大进销存软件,希望对大家有用。 第一名:秦丝进销存 软件介绍:秦丝主要集采购、销…

易软门诊管理9.1破解版

1、升级之前一点做好软件的数据备份和软件备份,以防升级不成功造成暂时不能用。 备份包含(软件安装目录的database文件夹和YRclinic文件) 2、每次升级完毕,系统默认的用户Admin拥有软件所有功能的操作权限。自己分配的将没有此权…

库存管理 库存管理软件榜单 库存管理软件排名 库存管理提高效率的办法

做生意的最不可少的软件就是进销存,告别手工记账,大大地提高运营效率。 但是市面上的进销存软件那么多,一个个去试要花费很多精力,最好的运气是一眼相中。 今天小编就来整理老板们最推荐的10款进销存软件,希望能帮到你。 第一名:秦丝进销存 推荐指数:★★★★★ 秦丝主以Sa…

库存管理软件免费版软件哪个好用?

阅读本文您将了解:1.库存管理系统软件免费的有哪些;2.库存管理系统软件怎么选。 一、库存管理系统软件免费的有哪些 1、简道云 官网:https://www.jiandaoyun.com 简道云仓库管理系统涵盖仓库管理全流程,可以进行在线填报数据&am…

【自动化测试基础】Appium自动化环境搭建保姆级教程

APP自动化测试运行环境比较复杂,稍微不注意安装就会失败。我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在不少隐藏的比较深的坑,如果…

【AI】InsCode AI 创作助手 --使用心得

CSDN AI写作助手上线了!InsCode AI 创作助手不仅能够帮助用户高效创作文章,而且能够作为对话式AI回答你想知道的问题。成倍提高生产力!欢迎大家使用新功能后分享自己的使用心得与建议! 文章目录 一、你平时会使用这类AI工具吗&am…

实训第一天

目录 主流的关系数据库 非关系型数据库 Mysql的启动和停止 Mysql登录方式本地登录 远程登录 查看mysql数据库 创建数据库 使用数据库 删除数据库 Mysql结构化查询语句 mysql 数据类型 数值类型 字符类型 日期类型 唯一约束与主键约束 主流的关系数据库 mysql,db2,oracle&a…

常用编码格式整理

什么是字符集,字符编码,编码和解码: 字符集: 将一些自然语言中的字符组成一个集合; 字符编码: 字符编码,就是建立一套自然语言中的“字符”跟计算机能够存储 处理的二进制数的映射的规则。 即在一个字符集内…

2023新版Spring6全新讲解-核心内容之事务管理

Spring核心之事务 一、JdbcTemplate JdbcTemplate是Spring框架对JDBC操作进行的封装,可以简化方便对数据库的操作。 1.数据库表结构 准备一张普通的表 CREATE TABLE t_student (id int NOT NULL AUTO_INCREMENT,name varchar(32) DEFAULT NULL,age int DEFAULT N…