web自动化系列-selenium的3种弹框操作(十二)

发布于:2024-04-25 ⋅ 阅读:(143) ⋅ 点赞:(0)

在进行功能测试时 ,经常会遇到出现各种的弹出的提示 ,比如删除数据给出提示 、做某个操作时也会弹框给出一些友好提示 ,因为这些弹框都是做web操作时的一些常用组件 ,所以,selenium就不得不支持这些组件 。

1.弹框介绍

在web页面中 ,常见的弹框有提示框 、警告框、确认框 。它们的特性差不多但又不完全一样 。

  • 警告框 :警告框一般只有一个确定按钮 ,面板上有一个小图标和一小段提示信息 。

  • 确认框 :确认框有两个按钮 ,一个是确定按钮 ,一个是取消 ,一般是让用户做选择

  • 提示框 :提示框也有两个按钮 ,一个是确定按钮 ,一个是取消 ,但同时它又可以让用户进行输入 。

2.selenium 弹框处理

在selenium中也有对应的弹框处理方法 ,具体是 :

 

# 1. 初始化弹出框对象
alert = driver.switch_to.alert

# 2.调用相应的方法
alert.text : 返回弹框(alert/confirm/prompt)中的文字信息
alert.accept() : 点击确定按钮
alert.dismiss() : 点击取消按钮

3.具体案例

接下来通过自己实现的一个弹框页面来进行演示 ,页面中有三个按钮 ,分别是警告框、确认框和提示框 ,点击后弹出对应的框 。

具体html代码为 :

html
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Alert</title>
    </head>
    <body>
        <input id = "alert" value = "警告框" type = "button" onclick = "alert('欢迎!请按确认继续!');"/>
        <input id = "confirm" value = "确认框" type = "button" onclick = "confirm('确定吗?');"/>
        <input id = "prompt" value = "提示框" type = "button" onclick = "var name = prompt('请输入你的名字:','请输入  你的名字'); document.write(name) "/>

    </body>
</html>


针对以上的弹出 ,通过selenium实现一段代码 ,完成以上三个框的点击操作 。

 

# 弹框提示
"""
弹框 : 警告框 、确认框 、提示框
功能 :
    text : 获取弹框上的文本内容
    accept() : 点击确认
    dismiss() : 点击取消

步骤:
    1. 初始化对象 : alert = driver.switch_to.alert
    2. 调用以上的属性或方法
"""
import time

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get(r"E:\弹框.html")

time.sleep(1)


# 创建alert对象
alert = driver.switch_to.alert

# 点击警告框
driver.find_element_by_id("警告框").click()
time.sleep(1)


# 获取警告框的文本信息
print("警告框的文本信息:{}".format(alert.text))

# 点击确认按钮
alert.accept()
time.sleep(2)

# 点击确认框
driver.find_element_by_id("确认框").click()
time.sleep(2)

alert.dismiss()
time.sleep(2)

# 点击提示框
driver.find_element_by_id("提示框").click()
time.sleep(2)
alert.send_keys("hello world")
time.sleep(2)
alert.accept()
time.sleep(2)


网站公告

今日签到

点亮在社区的每一天
去签到