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 RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
Python随机读取文件实现实例
May 25 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
一篇文章了解Python中常见的序列化操作
Jun 20 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
python内置函数sorted()用法深入分析
Oct 08 Python
Pycharm如何导入python文件及解决报错问题
May 10 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 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
多重?l件?合查?(一)
2006/10/09 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
JQuery基础语法小结
2015/02/27 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python之yield和Generator深入解析
2019/09/18 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
大学旷课检讨书
2014/01/28 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
毕业论文致谢范文
2015/05/14 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
《山中访友》教学反思
2016/02/24 职场文书