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数据分析(二): Numpy技巧 (3/4)
numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性. 昨天晚上发了第一 ...
- spring框架总结(01)
1.spring是什么? sprint其实就是一个开源框架,是于2003年兴起的一个轻量级的java开发框架,是有Road Johnson创建的,简单的来说spring是一个分层的JavaSE/EE( ...
- 冒泡排序(Bubble Sort)
冒泡排序的基本思路 冒泡排序是一种效率极低的排序,首先它需要知道数组的有效数据长度,再对数据第一个和第二个两两比较,按照比较规则进行交换,然后第二个数据和第三个数据进行比较,按照比较规则进行交换:第一 ...
- 入坑IT十年(二)技术以外
上一篇博客里提到:技术越来越简单,发布后不久,就看到<技术并不是越来越简单>,这显然是打擂台来了. 技术究竟是不是越来越简单?其实这个问题,要看你究竟是以什么角度来思考这个问题.我们可以举 ...
- windows phone 模拟器
window phone 模拟器启动报错 修改Bios设置,我的是yoga pro 2,只修改 即可.启动成功
- Docker到底是什么
简单讲docker和vm虚拟机类似,都是在同一硬件上虚拟化出多个服务器应用实例的功能,据Bottomley声称,借助经过全面调优的容器系统,你就可以在同一硬件上拥有数量比使用Xen虚拟机或KVM虚拟机 ...
- Response.Write输出导致页面变形和页面白屏解决办法
方法一:此方法应该是微软官方推荐的方法,但弹出时会造成页面白屏.Page.RegisterStartupScript("TestEvent", "<script&g ...
- Jquery购物车jsorder改进版,支持后台处理程序直接转换成DataTable处理
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- DataGrid 得到DataGridRow 和DataGridColumn
/* ---------------------------------------------------------- 文件名称:DataGridPlus.cs 作者:秦建辉 MSN:splash ...
- 51nod 1595 回文度 | 马拉车Manacher DP
51nod 1595 回文度 题目描述 如果长度为n的字符串是一个回文串,同时它的长度为floor(n/2)的前缀和后缀是K-1度回文串,则这个字符串被称为K度回文串.根据定义,任何字符串(即使是空字 ...