selenium - webdriver 警告框处理 switch_to.alert

Posted 小虫虫的大梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于selenium - webdriver 警告框处理 switch_to.alert的主要内容,如果未能解决你的问题,请参考以下文章

selenium - webdriver 警告框处理 switch_to.alert

在 IntelliJ IDEA 中执行的 Maven Selenium WebDriver 项目中的编码警告 [重复]

Python+Selenium学习笔记9 - 警告框处理

Webdriver/Selenium 警报窗口问题

selenium源码通读·6 |webdriver/common/alert.py-Alert类分析

无法在 Selenium Webdriver 中设置 cookie