Selenium Webdriver 3.X源码分析之alert.py

别来无恙 提交于 2021-01-20 02:57:24


> Selenium Webdriver 3.X源码分析系列第6篇,该系列原则上会将整个源码分享一遍


在对selenium/webdriver/common/alert.py源码分析前,我们先看下标准的js弹窗有哪些,在JavaScript 有三种类型的弹出框:警告框、确认框和提示框。


具体的标准代码及弹窗演示如下:

注:要注意三者之间的应用场景及具体的代码,不看html代码,直接只看窗口显示是区分不了是不是标准弹窗的,所以在selenium webdriver实际应用时,必须掌握和分析html源码。

下面我们看看在selenium webdriver中提供用于处理javascript标准弹窗的模块源码, 其路径和源码结构如下:


看下alert.py提供出来的标准用法:


下面看下__init__函数:

需要传入一个实例化的webdriver对象给alert初始化函数。


text属性源码


dismiss取消函数,用于处理弹窗的取消按钮,即调用该函数会自动触发弹窗上的取消按钮

accep确认函数,用于处理弹窗的ok、确定按钮,即调用该函数会自动化触发弹窗上的ok、确定按钮

给弹窗的输入框,输入文本

下面我们看一下alert.py的实际的使用demo:

# 导入相关库

        from selenium import webdriver

        from time import sleep

        # 初始化webdriver实例

        driver = webdriver.Firefox()

        # 访问个可以有弹窗的网站

        driver.get('http://sahitest.com/demo/alertTest.htm')

        # 点击弹窗按钮

        driver.find_element_by_name('b1').click()

        a1 = driver.switch_to.alert  # 通过switch_to.alert切换到alert

        sleep(1)

        print(a1.text)  # text属性输出alert的文本

        a1.accept()  # alert“确认”

        sleep(3)

        driver.quit()


整体而言,alert.py的源码是很简单的,只要就去看下,会发现都是很容易理解的,源码都是看多了后才会掌握得更多。



扫一扫加我微信,注明:入群,加入微信群

扫一扫关注开源优测公众号,原创文章首发平台

在公众号里回复一下关键字获取对应的系列文章

物联网 appium 大数据测试 RobotFramework Python
自动驾驶 jmeter selenium jenkins 接口测试

顺手点点点右下角的


本文分享自微信公众号 - 开源优测(DeepTest)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!