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中ConfigParse模块的用法
Sep 29 Python
Python注释详解
Jun 01 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
Jan 04 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
解决python执行不输出系统命令弹框的问题
Jun 24 Python
python安装本地whl的实例步骤
Oct 12 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
基于python plotly交互式图表大全
Dec 07 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
python多线程爬取西刺代理的示例代码
Jan 30 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 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实现清除MySQL死连接的方法
2016/07/23 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
使用Python实现简单的服务器功能
2017/08/25 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python爬取网易云音乐评论
2018/11/16 Python
pandas去除重复列的实现方法
2019/01/29 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
详解Python yaml模块
2020/09/23 Python
Django URL参数Template反向解析
2020/11/24 Python
pandas实现导出数据的四种方式
2020/12/13 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
音乐教育感言
2014/03/05 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年车间管理工作总结
2015/07/23 职场文书