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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
Django实现分页功能
Jul 02 Python
在Pandas中处理NaN值的方法
Jun 25 Python
python scipy卷积运算的实现方法
Sep 16 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
pandas to_excel 添加颜色操作
Jul 14 Python
matplotlib subplot绘制多个子图的方法示例
Jul 28 Python
django教程如何自学
Jul 31 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 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
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php查看网页源代码的方法
2015/03/13 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP children()函数讲解
2019/02/03 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
vue中appear的用法
2017/08/17 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
Ubuntu下安装PyV8
2016/03/13 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Python itertools.product方法代码实例
2020/03/27 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
医生进修自我鉴定
2014/01/19 职场文书
调研汇报材料范文
2014/08/17 职场文书
医院营销工作计划
2015/01/16 职场文书
推广普通话主题班会
2015/08/17 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫