python上selenium的弹框操作实现


Posted in Python onJuly 13, 2020

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的弹框操作实现的文章就介绍到这了,更多相关python selenium弹框操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用items()方法返回字典元素对的教程
May 21 Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 Python
Python三级菜单的实例
Sep 13 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
python 调用有道api接口的方法
Jan 03 Python
python实现五子棋人机对战游戏
Mar 25 Python
Python re正则表达式元字符分组()用法分享
Feb 10 Python
通过python检测字符串的字母
Feb 18 Python
python文件读取失败怎么处理
Jun 23 Python
python数字图像处理之对比度与亮度调整示例
Jun 28 Python
python如何导入依赖包
Jul 13 #Python
python入门:argparse浅析 nargs='+'作用
Jul 12 #Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 #Python
Python实现封装打包自己写的代码,被python import
Jul 12 #Python
Django封装交互接口代码
Jul 12 #Python
在django中实现choices字段获取对应字段值
Jul 12 #Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 #Python
You might like
基于PHP array数组的教程详解
2013/06/05 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP引用返回用法示例
2016/05/28 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python迭代器和生成器介绍
2015/03/06 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Python对象的属性访问过程详解
2020/03/05 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
电大自我鉴定
2013/10/27 职场文书
物流仓储计划书
2014/01/10 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
人事任命书范文
2014/06/04 职场文书
村委会贫困证明范文
2014/09/21 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
2015年银行员工工作总结
2015/04/24 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android