web自动化笔记六:弹出框处理

news2024/9/21 4:30:45

1、弹出框类型:
        1)、alert  警告框
        2)、confirm  确认框
        3)、prompt   提示框

2、弹出框处理方法(方法三种弹出框操作都一样)
        `1)、获取弹出框对象:
               alert = driver.switch_to.alert
         2)、调用    
              alert.text    —>返回alert/confirm/prompt中的文字信息
              alert.accept()  —>接受对话框选项
              alert.dismiss()  —->取消对话框选项

3、为什么要处理警告框?
           如果页面有弹出框,不处理,接下来的将不生效

提示:无论以上那个对话框,都可以使用取消、同意,因为调用的是后台事件,根页面显示的按钮数量无关 

执行代码:

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
 
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
# 找不到合适的网站做测试,自己准备的材料,需要的评论给资源
driver.get('file:///Volumes/WinInstall/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/02%E9%85%8D%E5%A5%97%E8%B5%84%E6%96%99/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%EF%BC%88%E6%96%B0%EF%BC%89/%E9%98%B6%E6%AE%B55%EF%BC%9AWEB%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E8%AF%BE%E5%A0%82%E7%B4%A0%E6%9D%90/%E6%B3%A8%E5%86%8CA.html')
# 定位弹窗框的元素按钮
ele = driver.find_element(By.CSS_SELECTOR,'#alerta')
ele.click()
time.sleep(2)
# 处理警告框
# 获取警告框对象
alerta = driver.switch_to.alert
time.sleep(2)
# 获取警告框的内容文本
print(alerta.text)
# 同意警告框
alerta.accept()
time.sleep(2)
# 用户名输入框输入admin
ele1 = driver.find_element(By.CSS_SELECTOR,'#userA')
ele1.send_keys('admin')
time.sleep(2)
# 关闭浏览器
driver.quit()

注意:
    1、driver.switch_to.alert方法适用于以上三种类型对话框,调用时没有括号
    2、获取文本方法,调用时没有括号 如:alert.text
    3、在项目中不是所有的小窗口都是以上三种对话框

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1480419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记72:关于IMU(惯性测量单元)传感器的作用【不涉及公式推导】

一、IMU传感器是什么: 惯性测量单元IMU(Inertial Measurement Unit)是一种使用【加速度计】和【陀螺仪】来测量【物体三轴姿态角(空间姿态)】的装置;IMU在坐标系的每个坐标轴上,均安装有1个陀螺…

Unity(第十八部)物理力学,碰撞,触发、关节和材质

1、重力 刚体组件 英文中文描述RigidBody刚体组件physics->rigidbody ,刚体组件使一个物体有了质量,重力等。,use gravity 勾选后,物体才会受到重力,会自动下落,取消勾选就不会。,&#xf…

初学JavaScript总结

0 JavaScript html完成了架子,css做了美化,但是网页是死的,需要给他注入灵魂,所以接下来需要学习JavaScript,这门语言会让页面能够和用户进行交互。JavaScript又称为脚本语言,可以通过脚本实现用户和页面的…

1.1为什么需要对数值类型的特征做归一化?

01 知识点:特征归一化(第一章 特征工程) 摘要: 为什么需要对数值类型的特征做归一化? 简要回答:对数值类型的特征做归一化,使得各指标除以同一个数量级,以便进行分析。 场景描述 为…

AI时代来临:解锁大模型的神秘面纱!

在AI时代的黎明,大模型技术的发展不仅仅是科技进步的一个标志,更是人类文明新篇章的开启。这篇文章旨在揭开大模型的神秘面纱,探索其对未来社会的深远影响。 大模型,作为人工智能领域的一个重要分支,其核心在于构建能…

内网搭建mysql8.0并搭建主从复制详细教程!!!

一、安装mysql 1.1 mysql下载链接: https://downloads.mysql.com/archives/community/ 1.2 解压包并创建相应的数据目录 tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local cd /usr/local/ mv mysql-8.2.0-linux-glibc2.28-x86_64/ mysql mkdir…

Pytorch学习 day01(Jupyter安装、常用函数、三种编辑器的对比)

Jupyter 安装过程中遇到的问题: Anaconda的base环境会自动安装Jupyter,但是如果我们要在其他环境中安装Jupyter,就需要注意,该环境的python版本不能高于3.11,且用以下代码安装: conda install nb_conda_…

迭代模型:让项目管理更加高效与灵活

迭代模型:让项目管理更加高效与灵活 在当今快速变化的市场环境中,项目管理面临着前所未有的挑战。传统的瀑布模型已无法满足不断变化的需求,而迭代模型则以其灵活性和适应性成为了项目管理的新宠。本文将详细介绍迭代模型的概念、特点、应用…

基于vue3 BIMFACE 单楼层平滑切换

模型加载 vue3使用hooks实现模型的加载 hooks文件: useBimLoad.js import { getAccessToken, getViewToken } from "/api/bimface";//获取accessToken和viewToken,自行编写 import { toRefs } from "vue";export function useBimLoad(props)…

Android Tombstone 分析

1.什么是tombstone Tombstone是指在分布式系统中用于标记数据已被删除的记录,通常包含删除操作的时间戳和相关信息。 当一个动态库(native程序)开始执行时,系统会注册一些连接到 debuggerd 的signal handlers。当系统发生崩溃时…

浪潮服务器使用ARCCONF查看RAID配置信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、获取ARCCONF二、使用步骤1.Windows Server 20221.查看RAID控制器2.查询控制器属性3.查询虚拟磁盘属性4.查询物理硬盘属性 2.Ubuntu-22.043.CentOS7 三、配置…

精益工程师3000工资与30000工资的区别!

在同一职场征程中,为何有的精益工程师月入仅三千,而另一些则能达到三万?这一差距,远超薪酬数额的简单对比,它深刻反映了专业能力、工作态度和个人品质的全面差异。 首先,对于刚踏入职场的精益工程师而言&a…

1.3 vue ui框架-element-ui框架

1 前言 ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。 ElementUI官网 https://element.eleme.io 2 安装 运行命令 cnpm i element-ui -S -S表示只在该项目下安装,不是全局安…

Springboot配置定时任务

介绍SpringBoot集成定时任务的过程。 目 录 1、引入相关依赖 2、启动类添加注解 3、定时任务类添加注解 4、cron表达式 5、总结 1、引入相关依赖 SpringBoot自带定时任务配置,只要引入springboot相关类即可。 2、启动类添加注解 在启动类上添加注解EnableSch…

【学习心得】Python调用JS的三种常用方法

在做JS逆向的时候,一种情况是直接用Python代码复现JS代码的功能,达成目的。但很多时候这种方法有明显的缺点,那就是一旦JS代码逻辑发生了更改,你就得重写Python的代码逻辑非常不便。于是第二种情况就出现了,我直接得到…

CDN CloudFlare 接入 OCI 对象存储

在当今数字化时代,网站性能和可用性是业务成功的关键。为了提供快速且可靠的访问体验,许多组织正在寻找有效的内容分发网络(CDN)解决方案。CloudFlare作为业界领先的CDN提供商,其强大的全球网络基础设施能够加速网站内…

UE学习笔记--解决滚轮无法放大蓝图、Panel等

我们发现有时候创建蓝图之后,右上角的缩放是1:1 但是有时候我们可能需要放的更大一点。 发现一直用鼠标滚轮像上滚动,都没有效果。 好像最大只能 1:1. 那是因为 UE 做了限制。如果希望继续放大,我们可以按住 Ctrl 再去…

Excel常用公式总结非常实用

16个最实用的Excel万能公式 1、多条件判断 IF(And(条件1,条件2..条件N),条件成立返回值) IF(or(条件1,条件2..条件N),条件成立返回值) 2、多条件查找 Lookup(1,0/((条件1*条件2*...条件N)),返回值区域) 3、多条件求和 Sumifs(值区域,判断区域1,条件1,判断区域2,条…

hive报错:FAILED: NullPointerException null

发现问题 起因是我虚拟机的hive不管执行什么命令都报空指针异常的错误 我也在网上找了很多相关问题的资料,发现都不是我这个问题的解决方法,后来在hive官网上与hive 3.1.3版本相匹配的hadoop版本是3.x的版本,而我的hadoop版本还是2.7.2的版本…

opencv VideoCapture

videocapture顾名思义视频捕捉,主要是从视频文件、摄像头或网络摄像头获取视频流数据,并将其作为一系列帧进行处理。 我们这里主要实现了获取项目文件夹下的1.mp4视频文件,然后经过灰度变化、均值滤波、边缘检测然后将视频显示出来 #include…