Python + Selenium(七)- 弹窗的代码封装

1.弹窗类型

浏览器的弹窗有三种:
1.仅为提示弹窗,显示提示信息后点击确定关闭:
在这里插入图片描述
2.选择“确定”或“取消”按钮关闭的弹窗:
在这里插入图片描述
3.输入文本后点击确定按钮关闭的弹窗:
在这里插入图片描述

2.解决方案

针对以上三种弹窗,都有不同的解决方案。

首先,我们都需要切换到弹窗模块,对弹窗进行操作:

alert_element = driver.switch_to.alert

然后根据类型的不同,有不同的操作代码:

  1. 仅是提示框的弹窗,只需要点击确定按钮,即可关闭:
alert_element.accept()
  1. 有确定或取消选项的,根据自身需求确定要点击哪个按钮:
# 点击确定按钮
alert_element.accept()
# 点击取消按钮
alert_element.dismiss()
  1. 需要输入文字后点击确定按钮
# 向弹窗内发送文字 “test”
alert_element.send_keys(‘test’)
alert_element.accept()

3. 一个简单的封装

我们将以上的方法封装成一个函数:

 def switch_alert(self, option, input_str = None):
        '''
        对系统弹窗做出操作:
        1.只有弹窗,点击确定关闭
        2.有确认或取消两个按钮,选择按钮后关闭
        3.有输入框的弹窗,输入文字后点击确定按钮关闭
        :param option: 点击“确认”或“取消”
        :param input_str: 输入的字符
        '''
        alert = self.driver.switch_to.alert
        if option == 'accept':
            if input_str != None:
                alert.send_keys(input_str)
                alert.accept()
            else:
                alert.accept()
        else:
            alert.dismiss()
发布了77 篇原创文章 · 获赞 156 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_34659777/article/details/104165377