selenium自动化之处理浏览器警告弹窗
有的网站会弹出类似如下图的警告弹窗,你会发现这种弹窗在html源码中怎么也定位不到,接下来将介绍这种弹窗的处理方式。

其实这种弹窗是不属于html的元素的,他是属于浏览器自带的弹窗,所以用定位元素的方法是定位不了的。
浏览器的警告弹窗一共有三种:
第一种:(有【确定】【取消】按钮的)

解决方案:
1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)
2.text方法可以获取到弹窗上的文本
3.accept()方法相当于点击确定按钮
4.dismiss()方法相当于点击取消按钮
代码:
time.sleep(2) a = driver.switch_to.alert # 新方法,切换alert # a = driver.switch_to_alert() # 老方法,切换alert print(a.text) # 获取弹窗上的文本 a.accept() # 确认,相当于点击[确定]按钮 # a.dismiss() # 取消,相当于点击[取消]按钮
结果:
输出弹窗上的文本内容

第二种:(只有【确定】按钮的)

解决方案(其实这种和第一种弹窗的处理方法一样的):
1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)
2.text方法可以获取到弹窗上的文本
3.accept()方法相当于点击确定按钮
4.dismiss()方法相当于关闭弹窗
代码:
time.sleep(2) a = driver.switch_to.alert # 新方法,切换alert # a = driver.switch_to_alert() # 老方法,切换alert print(a.text) # 获取弹窗上的文本 a.accept() # 确认,相当于点击[确定]按钮 # a.dismiss() # 取消,相当于点击关闭弹窗
第三种:(有输入对话框的)

解决方案(其实这种弹窗处理只是多加了一个方法):
1.先使用 driver.switch_to.alert 切换到警告弹窗上(注意,有时候切换前需要加个等待)
2.accept()方法相当于点击确定按钮
3.dismiss()方法相当于关闭弹窗
4.send_keys()相当于在弹窗的输入框中输入文本
代码:
time.sleep(2) a = driver.switch_to.alert # 新方法,切换alert # a = driver.switch_to_alert() # 老方法,切换alert a.send_keys('Kevin-liutianping') # 在弹窗上的输入框中输入文本内容 a.accept() # 确认,相当于点击[确定]按钮 # a.dismiss() # 取消,相当于点击[取消]按钮
selenium自动化之处理浏览器警告弹窗的更多相关文章
- Selenium自动化测试之启动浏览器
Selenium自动化测试之启动浏览器 一.Eclipse新建java工程 1.新建java工程:File->New->Java Project,输入Project name:如AutoT ...
- Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)
前几篇文章中简略概述了,如何获取.设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅.若有不足之处,敬请各位大神指正,不胜感激! 获取浏览器显示区域 ...
- Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息。
Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息. 本文链接:https://blog.csdn.net/qq_38161040/art ...
- Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退 1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...
- Python+Selenium自动化-安装模块和浏览器驱动操作方法
Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...
- 爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器
一.图片懒加载 懒加载 : JS 代码 是页面自然滚动 window.scrollTo(0,document.body.scrollHeight) (重点) bro.execute_ ...
- 浏览器控制之 selenium,phantomJs谷无头浏览器
目录 浏览器控制之 selenium,phantomJs谷无头浏览器 selenium phantomJs 需求是尽可能多的爬取豆瓣网中的电影信息 谷歌无头浏览器 浏览器控制之 selenium,ph ...
随机推荐
- java的四舍五入
四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了.在讲解之间我们先看如下一个经典的案例: public static void main(String[] ...
- 在 Linux 下搭建 Git 服务器(yum安装)
服务端(linux): 1. 安装git [root@localhost ~]# yum -y install git 2. 增加一个git账户 为了管理的方便,在linux下面增添一个 " ...
- Dubbo实践(十三)Export
Spring在启动Dubbo服务端应用时,会实例化ServiceBean<T>并设置配置属性,然后调用export方法: @SuppressWarnings({"unchecke ...
- lwip BUG ,导致 系统 死机
pcb->snd_queuelen >= pbuf_clen(next->p) sys_arch_assert: in ..\..\User\lwip\src\core\tcp_in ...
- vue.js数组追加合并与对象追加合并的
今天在做懒加载的时候遇到的问题,在网上搜索找到的答案不是很清晰,就来写一下,方便以后使用. 直接上图吧 官方连接:https://cn.vuejs.org/v2/guide/reactivity.ht ...
- Java解析Excel之应用Reflection等技术实现动态读取
目录树 背景 技术选型 问题分析 技术要点及难点分析 源码分析 测试用例 背景 Tip:因为产品提的需求我都开发完了,进行了项目提测:前天老大走过来说:你用spring-boot开发一个解析Excel ...
- javascript的执行机制—Event Loop
既然今天要谈的是javascript的事件循环机制,要理解事件循环,首先要知道事件循环是什么. 我们先从一个例子来看一下javascript的执行顺序. <script> setTimeo ...
- tp框架如何处理mysql先排序在分组
$giModel = M('GroupIntegral'); $gi_table = $giModel->order('id desc')->limit('999')->buildS ...
- Solr 同义词搜索
1. 进入solr配置目录 cd /usr/local/solr/solrhome/collection1/conf vi schema.xml 增加配置节 <fieldType name=& ...
- JavaScript的迭代函数与迭代函数的实现
前言 如果对技术很自信,请直接看 实现的源码 如果想回顾一下基础,请按文章顺序阅读 说到迭代方法,最先想到的是什么?forEach还是map,迭代的方法ES5提供了5种方法 以下定义来自 Ja ...