selenium - webdriver 警告框处理 switch_to.alert

类似下图所示的警告框,无法通过前端工具定位,需要跳转到弹框,然后再对其操作

 

3种弹框:

  • 警告类弹框,alert:一个按钮
  • 确认类弹框,confirm:一个确认,一个取消
  • 消息类弹框,prompt:一个输入框, 一个确认,一个取消

跳转到弹框:

  • switch_to.alert

常用的弹框处理方法:

  • text                获取警告框的内容
  • accept()         相当于点击确认按钮
  • dismiss()     相当于点击取消按钮
  • send_keys()  向警告框输入值

例子:

点击百度首页的设置->搜索设置->保存设置->处理弹框

 1 from selenium import webdriver
 2 from selenium.webdriver.common.action_chains import ActionChains
 3 import time
 4 
 5 driver = webdriver.Chrome()
 6 driver.maximize_window()
 7 driver.implicitly_wait(10)
 8 driver.get('http://www.baidu.com')
 9 
10 
11 element = driver.find_element_by_partial_link_text('设置')
12 ActionChains(driver).move_to_element(element).perform()
13 driver.find_element_by_partial_link_text('搜索设置').click()
14 time.sleep(3)
15 driver.find_element_by_partial_link_text('保存设置').click()
16 
17 # driver.switch_to_alert().accept()
18 driver.switch_to.alert.accept()       # 获取警告框,并接受
19 text1 = driver.switch_to.alert.text   # 获取警告框,并获取其中的内容
20 print(text1)
21 
22 time.sleep(3)
23 driver.quit()

 

posted @ 2020-03-15 18:16  小虫虫大虫虫  阅读(1479)  评论(0编辑  收藏  举报