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中截取字符函数strip,lstrip,rstrip
Jul 17 Python
Python找出9个连续的空闲端口
Feb 01 Python
Python实现感知机(PLA)算法
Dec 20 Python
python实现搜索文本文件内容脚本
Jun 22 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
python模拟鼠标点击和键盘输入的操作
Aug 04 Python
学习Django知识点分享
Sep 11 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
Python常用数字处理基本操作汇总
Sep 10 Python
python 实现两个变量值进行交换的n种操作
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 MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php对称加密算法示例
2014/05/07 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
vue实现图片裁剪后上传
2020/12/16 Vue.js
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python调用fortran模块
2016/04/08 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
django中related_name的用法说明
2020/05/20 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
老教师工作总结的自我评价
2013/09/27 职场文书
后勤部长岗位职责
2013/12/14 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
师德师风整改措施
2014/10/24 职场文书
催款函范文
2015/06/24 职场文书
回复函格式及范文
2015/07/14 职场文书
创业计划书之美甲店
2019/09/20 职场文书
vscode内网访问服务器的方法
2022/06/28 Servers