Python爬虫之Selenium警告框(弹窗)处理
作者:程序猿杂记 发布时间:2021-10-06 23:59:12
标签:Selenium,警告框
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)关闭浏览器 | 详细介绍两种关闭窗口的区别 |
来源:https://blog.csdn.net/weixin_44110998/article/details/103693898


猜你喜欢
- 前言:python提供了诸多的魔法方法,其中__setattr__()方法主要用于类实例进行属性赋值,其定义在Object类官方提供的说明如
- 项目进行到和服务器交互,通过post访问服务器端jsp,jsp访问服务器端mysql数据库,最终返回到客户端的中文出现乱码问题。在整个流程中
- 最近在做一个金额查询,验证的时候总是出现很多问题,如输入-号后,input框里是没有了,但是在model里还是绑定了,提交的时候就会报错,真
- 前言摘要之前写了一篇 grpool goroutine池详解 | 协程管理 收到了大家积极的反馈,今天这篇来做一下grpool的性能测试分析
- 这篇文章主要介绍了Python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 工作中偶尔需要做客流分析,用pyplot 库绘图。一般情况下, x 轴刻度默认显示为数字。例如:我希望x 轴刻度显示为星期日期。查询pypl
- 一、下载PyCharm下载最新版PyCharm,官方地址:https://www.jetbrains.com/pycharm/downloa
- 前言:Go 语言追求简洁优雅,所以,Go 语言不支持传统的 try…catch…finally
- 一、前言 前面我们学习了if分支判断和for循环语句,在这次推送中我们将继续了解循环大家庭的成员们。大家可以通过上面的流程图来了解
- 前言近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐
- 前言今天给大家带来的是Vue 3 中的极致防抖/节流(含常见方式防抖/节流)这篇文章,文章中不仅会讲述原来使用的防抖或节流方式,还会带来新的
- 本文实例讲述了JavaScript内置对象math,global功能与用法。分享给大家供大家参考,具体如下:学习要点:1.Global对象2
- 任何一个交互过程的操作,对于用户来说都有学习成本,谁也不能保证所有人都可以准确无误地走完一个流程。交互设计师在设计时应该考虑适时地给用户相应
- 原文链接:https://blog.csdn.net/Fairy_Nan/article/details/105914203HDF也是一种自
- 本文实例为大家分享了python监控nginx端口和进程状态的具体代码,供大家参考,具体内容如下#!/usr/local/bin/pytho
- JavaScript网页–跨年倒计时,供大家参考,具体内容如下最近学弟在追一个学妹,我在帮学弟出谋划策。学妹告诉学弟,我怕我们之间是因为这段
- 一、MySQL数据库的实例管理器概述:1、MySQL数据库的实例管理器(IM)是通过TCP/IP端口运行的后台程序,用来监视和管理MySQL
- ASP在线压缩ACCESS数据库原理很简单:利用JRO.JetEngine的压缩功能建立一个新的数据库文件,然后把原来的删掉、替换!既然这样
- 每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码
- 1、算术运算符:+、-、*、/、%。2、递增/递减运算符:如$a++,$a--,++$a,--$a.如:<?php$a=10;$b=5