python上selenium的弹框操作
selenium之弹框操作
1,分类
弹框类型自见解分为四种:
1,页面弹框
2,警告提示框(alert)
3,确认消息框(confirm)
4,提示消息对话(prompt)
提示:selenium 提供switch_to_alert()方法定位到 alert/confifirm/prompt对话框。
2,操作
1,页面弹框
页面弹框是属于HTML里面的元素,它是由用户在操作页面的时候在本页面弹出的。所以科研直接在页面上定位到
步骤:
1,用户操作后,弹出页面弹框
2,直接定位弹框元素,进行操作
以下是例示代码:
from selenium import webdriver #引入库 #打开谷歌浏览器
driver=webdriver.Chrome()
#打开网页
driver.get('http://www.baidu.com')
#定位百度的登录元素,然后点击操作
driver.find_element_by_css_selector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click()
#弹框出现后,我们直接定位元素操作就好了
driver.find_element_by_css_selector('#TANGRAM__PSP_11__footerULoginBtn').click()
2,警告消息框
警告消息框是必须先关闭了用户才能操作的框,它提供了一个确认按钮,以及警告消息。
操作代码如下:
from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php') #我们定位获取警告框的元素,点击,弹出警告框
driver.find_element_by_css_selector('#cnblogs_post_body > p:nth-child(17)').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取警告框,赋予变量名
alert=driver.switch_to.alert
#获取消息框文本在控制台打印
print(alert.text) alert.accept() #关闭框操作 接受弹框
3,确认消息框(confirm)
确认消息框提供是或否操作,用户可以根据选择"确定"按钮和"取消"按钮。与警告消息框不同的是,多了个取消按钮
操作代码如下:
from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('http://119.23.55.123:8084/fsmarket/user.php') #我们定位获取消息框的元素,点击,弹出消息框
driver.find_element_by_css_selector('/html/body/div/input[3]').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取消息框,赋予变量名
alert=driver.switch_to.alert
#获取消息框文本在控制台打印
print(alert.text) alert.accept() #关闭框操作 接受弹框 alert.dismiss() #关闭框操作 取消弹框
4,提示消息对话(prompt)
提示消息框提供了一个文本字段,用户可以在此字段输入一个内容来响应对话框提示。该消息框有一个"确定"按
from time import sleep
from selenium import webdriver
#引入库 #打开谷歌,网址
driver=webdriver.Chrome()
driver.get('file:///C:/Users/hunk/Desktop/alter.html') #我们定位获取对话框的元素,点击,弹出对话框
driver.find_element_by_css_selector('/html/body/div/input[3]').click() sleep(1) #为了可能因为网络等问题而获取不到弹框,我们添加等待时间 #然后我们获取对话框,赋予变量名
alert=driver.switch_to.alert
#获取对话框文本在控制台打印
print(alert.text)
alert.send_keys("我是小白") #弹出框内输入内容
alert.accept() #接受
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text) #获取关闭弹窗结果 #获取确 认弹窗结果
python上selenium的弹框操作的更多相关文章
- Selenium之编辑框操作
编辑框操作: 网页上随处可见的编辑框,有时候编辑框里有默认的提示文字或者当我们需要输入第二次测试数据时,须先用clear()方法清除该元素里的字符串,再输入文本: 那么如何获取输入框已经输入的文本内容 ...
- Selenium处理文件上传、弹框
一.文件上传 上传标签是input时,可以直接使用send_keys(文件path)的方法来进行上传 二.弹框处理 页面操作中,有时会遇到JavaScript生成的alert.confirm以及pro ...
- Python+Selenium - Alert弹框
上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(a ...
- winform版弹框操作
公共弹框帮助类操作手册 1.说明 封装了对于winform操作的一些提示框,包括数据加载耗时的时候,提示数据正在加载,请稍后的提示窗体,动态提示给用户一些有用的信息.例如网吧里面续费提醒等. 2.操作 ...
- Selenium之单选框操作
单选框操作: 何为单选框?就是永远只能选中一个选项的意思.一般单选框的图标都是呈圆形的.我们通过selenium可直接定位到被选中的选项上,然后用click方法实现点击. 下面附上一段rb.html代 ...
- 遇到的一个移动端从下往上过渡的弹框,在Android下过渡动画的优化问题。
优化之前: /* 分享弹框样式 */ .popUpDiv { width: 100vw; height: 100vh; transition: all 0.5s ease; position: fix ...
- Selenium之下拉框操作
下拉框操作: 一般下拉框适用场景:在新增时有下拉框选项,在二级联动或多级联动有下拉(比如:在选择省市县时的多级联动下拉). 下拉框选择都有select的标签属性,存在两个属性select和option ...
- 吴裕雄--天生自然python学习笔记:python用 Selenium 组件实现浏览器操作自动化
一般情况下,我们都是用手工操作的方式来对浏览器进行各种操作 . 实际上, 只要我们安装一个自动化操作组件, Python 就可以让我们的很多操作实现自动化 . Selenium 组件 在开发网页时,用 ...
- 多测师讲解selenium _enter弹框_高级讲师肖sir
enter # from selenium import webdriver# from time import sleep# drvier=webdriver.Chrome()# url='file ...
随机推荐
- mybatis配置和使用
1,配置 MyBatis实现映射器的2种方式:XML文件形式和注解形式,下文主要是用xml形式,比较好维护 mybatis-config.xml文件: <?xml version="1 ...
- Spring Cloud 系列之 Alibaba Nacos 配置中心
Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...
- CSS中 隐藏元素的常用方法
在CSS中,使某个元素在页面中消失的方法有很多,今天为大家介绍几种我常用的方式 . 一.display:none; 让元素直接从页面消失,不占用尺寸,会改变页面布局. 代码演示: 页面演示:在页面 ...
- JAVA设计模式 1 设计模式介绍、单例模式的理解与使用
数据结构我们已经学了一部分了.是该了解了解设计模式了.习惯了CRUD的你,也该了解了解这一门神器.我为啥要说是神器呢? 因为在大厂的面试环节.以及很多的比如 Springboot Mybatis 等开 ...
- MonoBehaviour.StartCoroutine开启协同程序
StartCoroutine协同程序 StartCoroutine(IEnumerator) StartCoroutine(string methodName) StartCoroutine(stri ...
- async/await到底该怎么用?如何理解多线程与异步之间的关系?
前言 如标题所诉,本文主要是解决是什么,怎么用的问题,然后会说明为什么这么用.因为我发现很多萌新都会对之类的问题产生疑惑,包括我最初的我,网络上的博客大多知识零散,刚开始看相关博文的时候,就这样.然后 ...
- 2、尚硅谷_SSM高级整合_使用ajax操作实现页面的查询功能
16.尚硅谷_SSM高级整合_查询_返回分页的json数据.avi 在上一章节的操作中我们是将PageInfo对象存储在request域中,然后list页面解析request域中的对象实现信息的显示. ...
- 01-最大子列和问题(java)
问题描述:给定N个整数的序列{A1,A2,A3,…,An},求解子列和中最大的值. 这里我们给出{-2,11,-4,13,-5,-2}这样一个序列,正确的最大子列和为20 该题是在数据结构与算法中经常 ...
- 使用Kubernetes、K3s和Traefik2进行本地开发
作者简介 Vyacheslav,拥有运维和项目管理经验的软件工程师 这篇文章将承接我此前搭建的本地Docker开发环境,具体步骤已经放在在以下网址: https://github.com/Vorone ...
- 锐捷交换机18010-X端口假死现象
一次上架锐捷交换机,由于ODF光衰不稳定,导致交换机端口down,排查很多发现以下故障: 重置18010-X端口发现提示一下命令: Port in violation! Use 'errdisable ...