Selenium 警告框处理

Posted eastonliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium 警告框处理相关的知识,希望对你有一定的参考价值。

警告框分三种类型:

  • alert:显示带有一条指定消息和一个 OK 按钮的警告框。
  • confirm:显示一个带有指定消息和 OK 及取消按钮的对话框。
  • prompt:显示可提示用户进行输入的对话框。

我们就来一一认识他们的形状

alert:

confirm:

prompt:

警告框操作

主要操作方法有:

  • text:获取警告框中的文字信息
  • accept():接受警告框,相当于点击"确认"
  • dismiss():解散警告框,相当于点击“取消”或叉掉警告框
  • send_keys():在警告框中输入文本

我们以百度搜索设置警告框为例:

代码:

# coding = utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r\'D:\\coship\\Test_Framework\\drivers\\chromedriver.exe\'
# 启动浏览器
driver = webdriver.Ie(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r\'https://www.baidu.com/\')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 通过text定位
sel = driver.find_element_by_css_selector("select#nr")
Select(sel).select_by_visible_text("每页显示20条")
# 点击保存设置
driver.find_element_by_link_text("保存设置").click()
# 切换到警告框上
sleep(3)
ale = driver.switch_to_alert()
# 获取警告框文本信息
text = ale.text
print(text)
# 接受警告框
ale.accept()
# 叉掉警告框
# ale.dismiss()
# 退出
sleep(5)
driver.quit()

在这里注意下,切换到警告框,只能用switch_to_alert(),不能用switch_to.alert()

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

selenium之鼠标悬停/警告框处理/多窗口切换/下拉菜单的处理的介绍

selenium基础(警告框的处理)

Selenium 警告框处理

网页的警告框分为几种类型,怎么用selenium处理?

java+selenium3模态框处理

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