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###

posted @ 2020-08-11 20:02  吾言!  阅读(4146)  评论(0编辑  收藏  举报