selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert、confirm、prompt对话框)
switch_to_alert() --定位弹出对话框
text() --获取对话框文本值
accept() --相当于点击“确认”
dismiss() --相当于点击“取消”
send_keys() --输入值(alert和confirm没有输入对话框,所以就不用能用了,只能使用在prompt里)
页面弹窗有 3 种类型:
- alert(警告信息)
- confirm(确认信息)
- prompt(提示输入)
对于页面出现的 alert 弹窗,Selenium 提供如下方法:
序号
方法/属性
描述
1
accept()
接受
2
dismiss()
取消
3
text
获取显示的文本
4
send_keys()
输入内容
对应处理方式:
- alert(警告信息):WebDriver.switch_to.alert.accept()
- confirm(确认信息):
- WebDriver.switch_to.alert.accept()
- WebDriver.switch_to.alert.dismiss()
- prompt(提示输入):WebDriver.switch_to.alert.send_keys()
alert(警告信息)弹出框
alert(警告信息)弹出框,目的是提示通知信息,只需要用户看完点击确认即可。
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/alertTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.accept() # 接受 sleep(2) driver.quit() # 关闭浏览器
confirm(确认信息)弹出框
confirm(确认信息)弹出框,主要是让用户来确定是否要执行某个操作。比如,淘宝,京东等,删除订单是弹出此类弹出,让用户确定是否删除,避免用户误操作。
confirm(确认信息)弹出框提供两种选择,“确认” 或者 “取消”。只需要选择其中一个即可:
- 确认:WebDriver.switch_to.alert.accept()
- 取消:WebDriver.switch_to.alert.dismiss()
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/confirmTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.accept() # 接受 sleep(2) # 2、取消 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息: alert.dismiss() sleep(2) driver.quit() # 关闭浏览器
prompt(提示输入)弹出框
prompt(提示输入)弹出框,目的是需要用户先输入信息,再做提交。Selenium 提供输入信息的方法是:
WebDriver.switch_to.alert.send_keys()
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/promptTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.send_keys("自动化测试") # 输入内容 sleep(1) alert.accept() # 接受 sleep(2) driver.quit() # 关闭浏览器
注意 : 有些弹窗并非浏览器的 alert 窗口,而是 html元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。
总结
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】