当前位置: 首页 > news >正文

【如何学习Python自动化测试】—— 警告框处理

7 、 警告框处理

      在 web 中,除了上面提到的元素和操作之外,还有就是页面的提示框的处理了,页面的警告框通常分为这几类 js:alert 、 confirm 以及 prompt,这些警告框,我们都可以通过 switch_to_alert()来处理。
      对警告框的处理有以下几种:

  • 接受警告框:使用 alert.accept() confirm.accept()prompt.accept()方法,点击“确定”按钮,关闭警告框。
  • 拒绝警告框:使用confirm.dismiss()prompt.dismiss()方法,点击“取消”按钮,关闭警告框。
  • 获取警告框文本:使用alert.textconfirm.textprompt.text属性,获取警告框上的文本信息。
  • 输入信息:使用prompt.send_keys()方法,向警告框中输入需要的信息。

弹窗的处理

A、警告提示弹窗

  • 【描述】:包含提示信息和【确认】按钮
  • 【操作】:1、获取弹窗内容;2、进行“确认”操作
  • 【语法实现】
    • 1、获取弹窗内容:driver.switch_to.alert.text
    • 2、进行确认操作:driver.switch_to.alert.accept()

B、确认弹窗

  • 【描述】:包含提示信息和【确认】【取消】按钮
  • 【操作】:1、获取弹窗内容;2、进行“确认”操作;3、进行取消操作
  • 【语法实现】
    • 1、获取弹窗内容:driver.switch_to.alert.text
    • 2、进行确认操作:driver.switch_to.alert.accept()
    • 3、进行取消操作:driver.switch_to.alert.dismiss()

C、输入信息提示弹窗

  • 【描述】:包含提示信息、输入信息框和【确认】【取消】按钮
  • 【操作】:1、获取弹窗内容;2、输入框输入信息;3、进行“确认”操作;4、进行取消操作
  • 【语法实现】
    • 1、获取弹窗内容:driver.switch_to.alert.text
    • 2、输入框输入信息:driver.switch_to.alert.send_keys()
    • 3、进行确认操作:driver.switch_to.alert.accept()
    • 4、进行取消操作:driver.switch_to.alert.dismiss()

      将下列代码保存为.html 文件,点击上面的清空数据的按钮,会产生一个 confirm 的警告框,点击确定,则输入框内显示确定,点击取消,则输入框显示取消,接下来对这 个警告框进行处理。代码如下:

<script>function clear1(){if(confirm("确定要清空数据吗?")){document.main.text1.value = "确定";}else{document.main.text1.value = "取消";}}
</script>
<body><form name="main"><input type="text" name="text1" /><input type="button" name="Submit" value="清空数据" onClick="return clear1();"></form>
</body>
from selenium import webdriver
导入 webdriverfrom time import sleep
需要用到 sleep 来暂停,所以这里导入 time 的 sleep 模块 driver = webdriver.Firefox()打开 firefox 浏览器driver.get('file:///D:/test/test1.html')
打开 html 文件driver.find_element_by_css_selector('body > form:nth-child(1) > input:nth-child(2)').click()
点击按钮text=driver.switch_to_alert().text
获取警告框的文本,赋给 text 变量print text
将文本输出driver.switch_to_alert().dismiss ()
点击警告框中的取消sleep(3)
等待 3 秒driver.find_element_by_css_selector('body > form:nth-child(1) > input:nth-child(2)').click()
再次点击按钮driver.switch_to_alert().accept()
点击警告框中的确定

问一问:

      chrome中带单选框的弹窗要怎么操作单选框呢?比如调用迅雷下载时,每次都弹出是否打开迅雷的提示,左边会有个单选框来勾选不再提示。

在Chrome中操作带有单选框的弹窗,可以通过以下步骤进行:
定位到弹窗:使用合适的选择器或定位方式,找到包含单选框的弹窗元素。
选择单选框:查找并定位到需要选择的单选框元素。
点击选择:使用适当的方法或操作,点击选中单选框。可以使用click()方法或模拟鼠标点击事件。
验证选择:根据需要,可以获取所选择的单选框的状态进行验证。可以使用isSelected()方法来检查是否选中。
需要注意的是,具体的实现可能会因为不同的页面和技术而有所不同。可以使用Selenium等自动化测试工具来完成这些操作。如果是手动操作,则需要使用鼠标进行点击。

相关文章:

【如何学习Python自动化测试】—— 警告框处理

7 、 警告框处理 在 web 中&#xff0c;除了上面提到的元素和操作之外&#xff0c;还有就是页面的提示框的处理了&#xff0c;页面的警告框通常分为这几类 js&#xff1a;alert 、 confirm 以及 prompt&#xff0c;这些警告框&#xff0c;我们都可以通过 switch_to_alert()来处…...

Jenkins Ansible 参数构建

首先在Jenkins中创建自由项目 在web端配置完成后在另一台机子上下载nginx 在gitlab端创建项目并创建文件配置代码 在有Jenkins的机器上下载Ansible [rootslave1 ~]# yum -y install epel-release [rootslave1 ~]# yum -y install ansible再进入下载nginx机器中克隆gitlab项目…...

第十五届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组(详细分析解答)

目录 1.动态的Tab栏 1.1 题目要求 1.2 题目分析 1.3 源代码 2.地球环游 2.1 题目要求 2.2 题目分析 2.3 源代码 3.迷惑的this 3.1 题目要求 3.2 题目分析 3.3 源代码 4.魔法失灵了 4.1 题目要求 4.2 题目分析 4.3 源代码 5.燃烧你的卡路里 5.1 题目要求 5.2…...

2023亚太杯数学建模B题思路+模型+代码+论文

2023亚太地区数学建模A题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末 名片 2023亚太地区数学建模B题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末 名片 2023亚太地区数学建模C题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末 名片…...

GitHub 报告发布:TypeScript 取代 Java 成为第三受欢迎语言

GitHub发布的2023年度Octoverse开源状态报告发布&#xff0c;研究围绕AI、云和Git的开源活动如何改变开发人员体验&#xff0c;以及在开发者和企业中产生的影响。报告发现了三大趋势&#xff1a; 1、生成式AI的广泛应用&#xff1a; 开发人员大量使用生成式AI进行构建。越来越…...

配置hikari数据库连接池时多数据源不生效

1.原始配置&#xff0c;改造前&#xff1a; spring:# 配置数据源信息datasource:dynamic:#设置默认的数据源或者数据源组,默认值即为masterprimary: masterstrict: truedatasource:#这里采用了配置文件取值的方式&#xff0c;可以直接替换为数据库连接master:url: jdbc:postgr…...

matlab 最小二乘拟合平面并与XOY平面对齐

目录 一、算法原理二、代码实现1、绕原点对齐2、绕质心对齐三、结果展示1、绕原点对齐2、绕质心对齐四、测试数据本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 首先,使用最小二乘拟合平面…...

jQuery【回到顶部、Swiper轮播图、立即执行函数、链式调用、参数重载、jQuery扩展】(六)-全面详解(学习总结---从入门到深化)

目录 回到顶部 Swiper轮播图 jQuery源码_立即执行函数 jQuery源码_链式调用 jQuery源码_参数重载 jQuery扩展 回到顶部 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compati…...

day60

choice参数 1.引入 以一张信息表为例 性别 学历 工作经验 是否婚配 是否生子 客户来源 ... 针对某个可以列举完全的可能性字段&#xff0c;我们应该如何存储 只要某个字段的可能性时列举完全的&#xff0c;那么一般情况下都会采用choice参数 2.数据准备 from random imp…...

thingsboard的WebSocket API的使用

1、参考文档 Working with telemetry data | ThingsBoard Community Edition 2、订阅的命令 我们需要订阅不同的数据,那么该如何来填写参数呢,你需要参考后端代码 TelemetryPluginCmdsWrapper 以及订阅返回的结果参考类:TelemetrySubscriptionUpdate 链接地址: https:/…...

An issue was found when checking AAR metadata

一、报错信息 An issue was found when checking AAR metadata:1. Dependency androidx.activity:activity:1.8.0 requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs.:app is currently compiled against …...

搭建线上jvm监控

这里写目录标题 Springboot项目配置maven依赖application.properties添加监控JVM的配置类启动springboot项目 Prometheus配置配置grafana Springboot项目配置 maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring…...

【计算机网络笔记】数据链路层概述

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…...

vscode-insiders Remote-SSH XHR failed无法访问远程服务器

问题概述&#xff1a; destFolder/home/apple/.vscode-server-insiders > destFolder2/vscode-cli-05cd2640ec8a106a4ee99cb38e6ee34fbec04f11.tar.gz > 194f252f7426:trigger_server_download_end > Waiting for client to transfer server archive... > W…...

Ubuntu开机显示No bootable devices found

Ubuntu开机报错&#xff0c;显示显示No bootable devices found&#xff0c;如下图所示&#xff1a; 解决方案如下&#xff1a; 1. F2进入BIOS (1) 重启开启&#xff0c;按F2进入BIOS系统。 (2) 进入Boot Sequence&#xff0c;目前系统选择了UEFI&#xff0c;而Legacy选项为…...

设计模式——行为型模式(二)

6.8 迭代器模式 6.8.1 概述 定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 6.8.2 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合(ConcreteAggreg…...

SpringBoot中企业微信的API调用

说明 企业微信官方提供的均为API接口&#xff0c;没有提供集成SDK。因此无需引入Maven依赖&#xff0c;直接以Https方式请求即可。 有些第三方提供了集成的Java SDK&#xff0c;可根据需求自行选用。 本文采用直接调用官方API的方式。 基础配置 企业微信注册后&#xff0c;可…...

[前端] V8引擎编译原理

文章目录 1.什么是V81.1 扫描器Scanner1.2 解析器parser1.3 预解析PreParser1.4 解释器Ignition1.5 编译器TurboFan 1.什么是V8 V8是谷歌的开源高性能JavaScript和WebAssembly引擎&#xff0c;用C编写。它被用于Chrome和Node.js等。它实现ECMAScript和WebAssembly&#xff0c;…...

使用Pytorch实现linear_regression

使用Pytorch实现线性回归 # import necessary packages import torch import torch.nn as nn import numpy as np import matplotlib.pyplot as plt# Set necessary Hyper-parameters. input_size 1 output_size 1 num_epochs 60 learning_rate 0.001# Define a Toy datas…...

网络安全等级保护收费标准?

不同省份价格会略有不同&#xff0c;二级等保一般不低于5万元;三级等保不低于9万元&#xff0c;个别省份也可能7万也能办理&#xff0c;根据企业实际情况和省市选定的代理机构确定。 等级保护二级? 第二级等保是指信息系统受到破坏后&#xff0c;会对公民、法人和其他组织的合…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...