selenium之弹出警告/提示窗口的处理(弹出窗口)
1、弹出窗口的处理(需要先进入窗口再进行处理,使用switch_to切换进弹出窗口)
弹出窗口的类型:
alert:警告框
confirm:确认框
prompt:提示框
此三种类型对话框处理方式都一样,用:switch_to.alert.[处理方式]
接受:driver.switch_to.alert.accept()
取消:driver.switch_to.alert.dismiss()
获取弹出信息:driver.switch_to.alert.text(获取信息后需取消)
实例代码:
# 导入模块 from selenium import webdriver import time # 创建浏览器,设置浏览器为 最大化 driver = webdriver.Firefox() driver.maximize_window() # 访问百度 driver.get('http://www.baidu.com') # 定位到设置并点击 sz = driver.find_element_by_id('s-usersetting-top') sz.click() time.sleep(2) # 定位到搜索设置并点击 ss = driver.find_element_by_css_selector('.setpref') ss.click() time.sleep(2) # 定位到设置选项,且点击 xs = driver.find_element_by_id('sh_1') xs.click() time.sleep(2) # 保存设置 bc = driver.find_element_by_css_selector('.prefpanelgo') bc.click() time.sleep(2) # 此时有弹出框,需要处理,可以使用switch_to.来切换进弹出的窗口 '''driver.switch_to.alert:这是进入弹出窗口 driver.switch_to.alert.dismiss():代表进入且解散窗口 driver.switch_to.alert.accept():代表进入且接受提示 driver.switch_to.alert.text:获取弹出窗口信息(此项操作后必须解散窗口)''' # 进入进入窗口且取消(相当点击取消按钮 ) # driver.switch_to.alert.dismiss() # time.sleep(2) # 进入窗口且同意(相当于点击确定按钮) # driver.switch_to.alert.accept() # 进入窗口,获取窗口信息(获取信息后取消) alertt = driver.switch_to.alert print(alertt.text) alertt.dismiss() # 关闭浏览器 driver.quit()
获取弹出信息部分参考:https://blog.csdn.net/dpl12/article/details/103039545###