Python爬虫之Selenium警告框(弹窗)处理


Posted in Python onDecember 04, 2020

JavaScript 有三种弹窗 Alert (只有确定按钮), Confirmation (确定,取消等按钮), Prompt (有输入对话框),而且弹出的窗口是不能通过前端工具对其进行定位的,这个时候就可以通过switch_to.alert方法来定位这个弹窗,并进行一系列的操作。

本章中用到的关键方法如下:

  • switch_to.alert:定位到警告框
  • text:获取警告框中的文字信息
  • accept():接受现有警告框(相当于确认)
  • dismiss():解散现有警告框(相当于取消)
  • send_keys('文本内容'):发送文本至警告框(适用于有输入对话框的弹窗)
  • click():鼠标点击事件(其他鼠标事件请参考Python爬虫 - Selenium(5)鼠标事件)
  • move_to_element():鼠标悬停(详情请参考Python爬虫 - Selenium(5)鼠标事件)
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')

# 鼠标悬停至“设置”链接
link = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(link).perform()
time.sleep(2) #睡两秒,看一下效果

# 打开搜索设置
driver.find_element_by_link_text("搜索设置").click()
time.sleep(2) #睡两秒,看一下效果

# 保存设置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(2) #睡两秒,看一下效果

# 定位警告框
alert = driver.switch_to.alert
print(alert.text) # 打印警告框内容
#alert.send_keys('输入内容') #此测试网站不是可输入类型的弹窗,先注释掉
alert.accept() #接受现有警告框,相当于确认
#alert.dismiss() #解散现有警告框,相当于取消
time.sleep(2) #睡两秒,看一下效果

driver.quit()

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Python爬虫之Selenium警告框(弹窗)处理的文章就介绍到这了,更多相关Selenium警告框内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
python+django快速实现文件上传
Oct 24 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
Python队列的定义与使用方法示例
Jun 24 Python
Python生成器定义与简单用法实例分析
Apr 30 Python
python实现多层感知器
Jan 18 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
python模块常用用法实例详解
Oct 17 Python
Python性能分析工具Profile使用实例
Nov 19 Python
openCV提取图像中的矩形区域
Jul 21 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 #Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 #Python
Python爬虫之Selenium实现键盘事件
Dec 04 #Python
python 爬虫请求模块requests详解
Dec 04 #Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 #Python
Selenium 配置启动项参数的方法
Dec 04 #Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 #Python
You might like
PHP系统流量分析的程序
2006/10/09 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php中错误处理操作实例分析
2019/08/23 PHP
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
python记录程序运行时间的三种方法
2017/07/14 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
.NET面试10题
2014/02/24 面试题
中学教师培训制度
2014/01/31 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
房产分割协议书范文
2014/11/21 职场文书
python urllib库的使用详解
2021/04/13 Python