python上selenium的弹框操作实现
时间:2022-07-27
本文章向大家介绍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) #获取关闭弹窗结果 #获取确 认弹窗结果
- mybatis异常 :元素内容必须由格式正确的字符数据或标记组成。
- 剑指offer代码解析——面试题24二叉搜索树的后序遍历序列
- 剑指offer代码解析——面试题23从上往下打印二叉树
- Spring Boot 集成Shiro和CAS
- 剑指offer代码解析——面试题22栈的压入、弹出序列
- 剑指offer代码解析——面试题21包含min函数的栈
- 剑指offer代码解析——面试题19二叉树的镜像
- mysql高可用架构设计,处理高并发,大流量!
- 零基础入门深度学习 | 第三章:神经网络和反向传播算法
- 微信企业付款到个人钱包引发的坑之反思~!
- Intellij idea创建javaWeb以及Servlet简单实现
- 设计模式之代理模式之读写分离!!!
- Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 终于搞懂了Keras中multiloss的对应关系介绍
- python else语句在循环中的运用详解
- python文件编写好后如何实践
- keras 指定程序在某块卡上训练实例
- Python3 requests模块如何模仿浏览器及代理
- PHP中的empty、isset、isnull的区别与使用实例
- Laravel学习笔记之Artisan命令生成自定义模板的方法
- php微信扫码支付 php公众号支付
- PHP析构函数destruct与垃圾回收机制的讲解
- 关于php unset对json_encode的影响详解
- python实现二分类和多分类的ROC曲线教程
- PHP随机数函数rand()与mt_rand()的讲解
- PHP实现小程序批量通知推送
- Keras loss函数剖析
- Laravel使用scout集成elasticsearch做全文搜索的实现方法