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下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python实现pdf文档转txt的方法示例
Jan 19 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
python opencv如何实现图片绘制
Jan 19 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 Python
Python软件包安装的三种常见方法
Jul 07 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无刷新上传文件实现代码
2011/09/19 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
vue实现信息管理系统
2020/05/30 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
基于python编写的微博应用
2014/10/17 Python
python正则表达式面试题解答
2020/04/28 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
python实现磁盘日志清理的示例
2020/11/05 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
公司员工检讨书
2014/02/08 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
婚纱店策划方案
2014/05/22 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
发布会邀请函
2015/01/31 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL