selenium_Alert
网页测试,最避免不了的就是弹出框,但是弹出框你真的分的清吗?
- Alert
- prompt
- comfirm
先来认识一下这三个弹窗
代码如下
<input id="alert" onclick="alert('这是一个alert')" type="button" value="alert" />
<input id="confirm" onclick="confirm('确定?');" type="button" value="confirm" />
<input id="prompt" onclick="var name = prompt('请输入你的名字:','请输入你的名字'); document.write(name) " type="button" value="prompt" />
OK,下面来看看如何处理他们
1.导入包,和导入ActionChains类似
from selenium.webdriver.common.alert import Alert
2.四种操作
- alert.text 获取弹出框的文本
- alert.dismiss() 拒绝警告框,点击取消或者右上角X关闭
- alert.accept() 接受警告框,点击确定
- alert.send_keys(value) 模拟输入,向prompt的文本框输入字符
3.实战
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time driver=webdriver.Firefox()
driver.get("File://E:/python/alert/alert.html")
time.sleep(2)
pop=Alert(driver) #和ActionChains一样,需要初始化alert的驱动 #Alert
driver.find_element_by_id("alert").click()
print("alert",pop.text) #获得alert弹框的内容
time.sleep(1)
pop.accept() #点击确定 '''
权限验证
有时在弹出框内需要验证我们的权限,即输入账号密码
可以使用authenticate(username, password)的方法
''' #confirm
time.sleep(2)
confirm=driver.find_element_by_id("confirm")
confirm.click()
print("confirm accept",pop.text) #获得alert弹框的内容
pop.accept() #点击确定
time.sleep(2) confirm.click()
time.sleep(2)
print("confirm dismiss",pop.text)
pop.dismiss() #点击取消
time.sleep(2) #prompt
driver.find_element_by_id("prompt").click()
print("prompt",pop.text) #获得alert弹框的内容
pop.send_keys("lalala") #输入文字
time.sleep(3)
pop.accept() driver.close()
弹出框测试
selenium_Alert的更多相关文章
- 多测师讲解selenium_alert弹框定位_高级讲师肖sir
from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url=r'F:\dcs\DCS课程安排\se ...
随机推荐
- python采用 多进程/多线程/协程 写爬虫以及性能对比,牛逼的分分钟就将一个网站爬下来!
首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都 ...
- jdbc学习笔记
知识概要: 1.JDBC简介 2.JDBC的编码步骤 3.JDBC中常用接口或类详解 4.JDBC中释放资源 5.JDBC进行CRUD 1.JDBC简介 JDBC:Java DataBase Conn ...
- Spring ——简介及环境搭建跑通Hello
Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开发复杂性而创建的.框架的主要优 ...
- 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?
作者:刘超 来自:网易云 基础服务 无论是在社区,还是在同客户交流的过程中,总会被问到到底什么时候该用 Docker?什么时候用虚拟机?如果使用容器,应该使用哪个容器平台? 显而易见,我不会直接给 ...
- php环境搭建工具推荐
楼楼最近由于一系列原因,使用了几款php环境搭建工具,安装配置方便,所以在这里推荐一下.第一款是XAMPP(网址http://www.xampps.com/),软件包原来的名字是 LAMPP,但是为了 ...
- 谈谈我对php通信的理解及人生小感
故事背景: 小王和小甜是亲密无间的好朋友. 小王到自己QQ群里看到一个免单活动, 自己支付宝余额不足, 遂用小甜的手机淘宝先花150元购买了活动产品. 到货后商家告诉小王, 确认收货后提供旺旺账号.支 ...
- CSS3选择器在HTML5中的使用
1,有CLASS属性的input标记 Input[class]{ } 2,class属性是sm的元素 Input[class='sm']{} 3, 凡是class=sm的元素 [class='sm' ...
- vue项目中操作PDF文件
以前从来没接触过前端要求显示PDF文件,一时之间有点懵逼,不知从哪下手啊... 无奈之下,去找度娘,方法还不少,iframe embed object这些标签就可以, 可是拿过来做个demo一试, ...
- base64减少图片请求
1. 使用base64减少 a) 2. 页面解析 CSS 生成的 CSSOM 时间增加 Base64 跟 CSS 混在一起,大大增加了浏览器需要解析CSS树的耗时.其实解析CSS ...
- 数据库.MongoDB.Java样例
1.先在MongoDB官网下载Java驱动包 MongoDB Java Driver: http://mongodb.github.io/mongo-java-driver/ JAR包下载列表 htt ...