新闻动态

python自动化测试selenium核心技术处理弹框

发布日期:2021-12-11 12:02 | 文章来源:脚本之家

页面上的弹框一般有三种:

(1)alert:用来提示

(2)confirm:用来确认

(2)prompt:输入内容

示例网站:http://sahitest.com/demo

示例场景:打开Sahi Tests页面,

(1)点击“Alert Test”页面,鼠标点击页面中“Click For Alert”按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的确定按钮。

(2)点击“Confirm Page”页面,鼠标点击页面中“Click For Confirm”按钮,弹出确认提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的“确定”或“取消”按钮。

(3)点击“Prompt Page”页面,鼠标点击页面中“Click For Prompt”按钮,弹出确认提示输入框,判断页面是否存在alert,如存在则切换到警告框,获取警告文本信息或输入文本内容,之后点警告框中的“确定”或“取消”按钮。

完整示例脚本:

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec 
class TestWaitCondition(object):
 def setup(self):
  self.driver = webdriver.Chrome()
  self.driver.get(https://sahitest.com/demo/) 
 def test_alert(self):
  #点页面上的Alert Test
  self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[1]").click()
  #鼠标点击页面中“Click For Alert”按钮
  self.driver.find_element_by_name("b1").click()
wait = WebDriverWait(self.driver,2)
  #等待并判断警告框是否存在
  wait.until(ec.alert_is_present())
  #切换到alert页面
  alert = self.driver.switch_to.alert
  #获取并打印警告框中文本
  print(alert.text)
  #点弹出警告框中的确定
  alert.accept()
  self.driver.quit() 
 def test_confirm(self):
  #点击Confirm Page链接打开页面
  self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[2]").click()
  #点击Click For Confirm按钮,弹出确认提示框
  self.driver.find_element_by_name("b1").click()
  #切换到警告框
  confirm=self.driver.switch_to.alert
  #获取警告框提示信息并打印
  print(confirm.text)
  #点确定
  # confirm.accept()
  sleep(2)
  #点取消
  confirm.dismiss()
  sleep(2)
  self.driver.quit()
 def test_prompt(self):
  # 点击Prompt Page链接打开页面
  self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[3]").click()
  #点击Click For Prompt按钮,弹出确认提示框
  self.driver.find_element_by_name("b1").click()
  sleep(2)
  #切换到提示框
  prompt = self.driver.switch_to.alert
  #获取提示框中文本并打印
  print(prompt.text)
  #提示框中输入文本test prompt
  prompt.send_keys("test prompt")
  # 点确定
  prompt.accept()
  sleep(2)
  #点取消
  # prompt.dismiss()
  self.driver.quit()

以上:极客时间课程:selenium自动化测试学习总结。

以上就是python自动化测试selenium核心技术处理弹框的详细内容,更多关于selenium核心技术处理弹框的资料请关注本站其它相关文章!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部