Selenium Webdriver 3.X源码分析之alert.py
  TEZNKK3IfmPf 2023年11月13日 29 0

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

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

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

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

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

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

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

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

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

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

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

下面看下__init__函数:

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

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

text属性源码

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

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

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

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

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

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

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

下面我们看一下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的源码是很简单的,只要就去看下,会发现都是很容易理解的,源码都是看多了后才会掌握得更多。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 注解 下一篇: python中raise方法用法详解
  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

TEZNKK3IfmPf