在JavaScript 有三种类型的弹出框
在对selenium/webdriver/common/alert.py源码分析前,我们先看下标准的js弹窗有哪些,在JavaScript 有三种类型的弹出框:警告框、确认框和提示框。
第一种:
第二种:
第三种:
注意:要注意三者之间的应用场景及具体的代码,不看html代码,直接只看窗口显示是无法区分是不是标准弹窗的,所以在selenium webdriver实际应用时,必须掌握和分析html源码。
下面我们看看在selenium webdriver中提供用于处理javascript标准弹窗的模块源码, 其路径和源码结构如下:
__init__函数
需要传入一个实例化的webdriver对象给alert初始化函数。
test属性源码
dismiss()函数
用于处理弹窗的取消按钮,即调用该函数会自动触发弹窗上的取消按钮
accep()确认函数
send_key()函数
给弹窗的输入框,输入文本
案例:
下面我们看一下alert.py的实际的使用demo:
导入相关库
from selenium import webdriver
from time import sleep
# 初始化webdriver实例
driver = webdriver.Firefox()
# 访问个可以有弹窗的网站
driver.get('url')
# 点击弹窗按钮
driver.find_element_by_name('b1').click()
a1 = driver.switch_to.alert # 通过switch_to.alert切换到alert
sleep(1)
print(a1.text)
a1.accept()
sleep(3)
driver.quit()