Selenium的三种弹窗处理,涵盖警告、确认和提升输入

发表于:2021-3-25 09:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员一凡    来源:CSDN

  页面弹窗有 3 种类型:
  1.alert(警告信息)
  2.confirm(确认信息)
  3.prompt(提示输入)
  对于页面出现的 alert 弹窗,Selenium 提供如下方法:
  对应处理方式:
  1)alert(警告信息):WebDriver.switch_to.alert.accept();
  2)confirm(确认信息):
  · WebDriver.switch_to.alert.accept()
  · WebDriver.switch_to.alert.dismiss()
  3)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元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。
  总结

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号