selenium自动化测试入门:下拉框元素定位

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

选择获取反选下拉框元素首先要实例化select元素

from selenium.webdriver.support.ui import Select # 引入包

select_element=Select(element) # 实例化select

三种常用选择方法

select_element.  select_by_index(index) 根据index定位,从0开始
select_element.  select_by_value(value) 根据value属性定位
select_element.  select_by_visible_text(text) 根据文本定位

反选的方法

select_element.  deselect_by_index(index) 根据index定位,从0开始
select_element.  deselect_by_value(value) 根据value属性定位
select_element.  deselect_by_visible_text(text) 根据文本定位
select_element.  deselect_all() 取消全部选择

获取选项的值

select_element.  options 返回这个select元素所有的options
select_element.  all_selected_options 所有被选中的options
select_element.  first_selected_option 第一个被选中的option

创建select.html 文件,代码如下:

<form><select id="s1Id"><option></option><option value="o1" id="id1">o1</option><option value="o2" id="id2">o2</option><option value="o3" id="id3">o3</option></select><br/><br/><select id="s2Id" multiple="multiple" size="6"><option></option><option value="o1val">o1</option><option value="o2val">o2</option><option value="o3val">o3</option><option value="o4val">    With spaces</option><option value="o4val">&nbsp;&nbsp;&nbsp;&nbsp;With nbsp</option></select>
</form>

示例1:采用三种方法依次选择's1Id'的值

s1 = Select(driver.find_element_by_id('s1Id'))  # 实例化Select,页面第一个下拉框
s1.select_by_index(1)  # 选择第二项选项:o1
s1.select_by_value("o2")  # 选择value="o2"的项
s1.select_by_visible_text("o3")  # 选择text="o3"的值,即在下拉时我们可以看到的文本

示例2:想查看一个's1Id'所有的选项

s1 = Select(driver.find_element_by_id('s1Id'))
for select in s1.options:print(select.text)

示例3:查看我已选中的所有选项,'s2Id'可以多选的选择框

s4 = Select(driver.find_element_by_id('s2Id'))
s4.select_by_index(1)  # 根据顺序选择第2个
s4.select_by_value("o2val")  # 根据value属性选择o2val
s4.select_by_visible_text("With spaces")  # 根据展示文本选择With spaces
s4.select_by_visible_text(u"    With nbsp") # 注意空格,只有为 是才用空格
for select in s4.all_selected_options:  # 循环获取所有的值print(select.text)

注意:只有只有为 的空格才是空格,在html中代码只有 才代表空格,代码中的空格不是空格。

示例4:查看选择框的默认值或选中的值

s1 = Select(driver.find_element_by_id('s1Id'))
print(s1.first_selected_option.text)  # 查看选择默认值
s1.select_by_value("o2")
print (s2.first_selected_option.text)  # 查看选中的值

示例5:取消选择

s4 = Select(driver.find_element_by_id('s2Id'))
s4.select_by_index(1)
s4.select_by_value("o2val")
s4.select_by_visible_text("With spaces")
s4.select_by_visible_text(u"    With nbsp")
s4.deselect_by_index(1)  # 根据值顺序取消选择
s4.deselect_by_value("o2val")  # 根据value属性取消选择
s4.deselect_by_visible_text("With spaces")  # 根据文本取消选择
s4.select_by_value("o2val")
s4.select_by_index(1)
s4.deselect_all()  # 取消全部选择

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

字节大佬,一周讲完,自动化测试项目实战,这套教程是怎么称霸B站的?【2024最新版】

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

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

相关文章

数字影像产业园的三大赋能:科技、创新与无限可能

数字影像产业园作为文创产业的重要载体&#xff0c;以科技为核心驱动力&#xff0c;不断推动产业的技术革新和升级。 园区内汇聚了最前沿的数字技术资源&#xff0c;高清摄影设备、虚拟现实技术、人工智能应用等尖端科技在这里得到广泛应用&#xff0c;不仅提升了生产效率&…

能源SCI期刊,中科院4区,审稿快,IF=3.858

一、期刊名称 Frontiers in Energy Research 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;能源 影响因子&#xff1a;3.858 中科院分区&#xff1a;4区 三、期刊征稿范围 能源研究前沿出版了整个领域的严格同行评审研究&#xff0c;重点是可持续和环境…

java多线程原理

1.线程创建与启动&#xff1a;通过继承Thread类或实现Runnable接口创建线程&#xff0c;并调用start()方法启动线程。 1.线程状态&#xff1a;线程在其生命周期中有多种状态&#xff0c;包括新建、运行、阻塞、死亡等。了解这些状态以及如何在它们之间转换对于管理线程至关重要…

ICLR 2024 BACKDOOR FEDERATED LEARNING BY POISONING BACKDOOR-CRITICAL LAYERS

寻找后门攻击最有效的网络层。现有的 FL 攻击和防御方法通常关注整个模型。 他们都没有认识到后门关键&#xff08;BC&#xff09;层的存在——控制模型漏洞的一小部分层。 攻击 BC 层可达到与攻击整个模型相同的效果&#xff0c;但被最先进 (SOTA) 防御检测到的机会要小得多。…

如何卸载360安全卫士

不用像其他教程那么复杂 这篇教程比较友好 1.打开桌面&#xff0c;右键单击快捷方式 选择“打开文件位置” 2.然后&#xff0c;搜uninst.exe 3.运行 4.选择“继续卸载” 5.选择“下一步” 6.选择 “继续卸载” 7.选择“继续卸载” 8.选择“是” 9.静等卸载 10.把卸载程序关…

【因果推断python】16_工具变量2

目录 出生季度和教育对工资的影响 第一阶段 出生季度和教育对工资的影响 到目前为止&#xff0c;我们一直将这些工具视为一些神奇的变量 Z&#xff0c;它们具有仅通过干预变量影响结果的神奇特性。老实说&#xff0c;好的工具变量来之不易&#xff0c;我们不妨将它们视为奇迹…

Windows11系统 和Android 调试桥(Android Debug Bridge,ADB)工具安装,app抓取日志内容

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Android调试桥&#xff08;ADB&#xff09;是一种多功能命令行工具&#xff0c;它允许开发者与连接到计算机上的Android设备进行通信和控制。ADB工具的作用包括但不限于&#xff1a; 安装和卸载应用程序&…

2024年先进材料与清洁能源国际会议(ICAMCE 2024)

2024 International Conference on Advanced Materials and Clean Energy 【1】大会信息 大会时间&#xff1a;2024-07-15 大会地点&#xff1a;中国三亚 截稿时间&#xff1a;2024-07-01(以官网为准&#xff09; 审稿通知&#xff1a;投稿后2-3日内通知 投稿邮箱&#xff1a…

揭秘相似矩阵:机器学习算法中的隐形“纽带”

在机器学习领域&#xff0c;数据的处理和分析至关重要。如何有效地从复杂的数据集中提取有价值的信息&#xff0c;是每一个机器学习研究者都在努力探索的问题。相似矩阵&#xff0c;作为衡量数据之间相似性的数学工具&#xff0c;在机器学习算法中扮演着不可或缺的角色。 相似矩…

Docker之路(三)docker安装nginx实现对springboot项目的负载均衡

Docker之路&#xff08;三&#xff09;dockernginxspringboot负载均衡 前言&#xff1a;一、安装docker二、安装nginx三、准备好我们的springboot项目四、将springboot项目分别build成docker镜像五、配置nginx并且启动六、nginx的负载均衡策略七、nginx的常用属性八、总结 前言…

SpringBoot高手之路02-全局异常处理器

RestControllerAdvice 可以将响应数据返回json格式然后响应 那么开始做全局异常处理器 首先先定义一个类 package com.healer.exception;import com.healer.common.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.we…

高并发系统限流原理

短时间内巨大的访问流量&#xff0c;我们如何让系统在处理高并发的同时还能保证自身系统的稳定性&#xff1f;估计有人会说&#xff0c;增加机器就可以了&#xff0c;因为我的系统架构设计就是按照分布式思想进行架构设计的&#xff0c;所以可以只需要增加机器就可以解决问题了…

在Unity中配置Android项目以允许HTTP流量,解决AVPro在Android平台中无法播放http视频

解决方法快速通道&#xff1a;拉到底&#xff0c;看倒数第二张图 好记性不如烂笔头 最近在使用AVpro插件播放http视频&#xff0c;在Editor中一切正常&#xff0c;然而打包在Android平台下就播放不了 AVPro在Unity中的警告&#xff1a; 感觉只是个警告&#xff0c;没引起注意…

实验报告题目

1、Anaconda环境配置 主要包括环境介绍&#xff0c;安装&#xff0c;以及numpy,matplotlib,pandas包的使用 2、线性回归模型 线性回归模型的基本原理 线性模型代码编写 结果分析 3、线性判别模型 线性判别模型的基本原理 线性模型代码编写 结果分析 4、决策树模型 决策树模型…

为什么3D渲染有的模型是黑的?---模大狮模型网

在3D建模和渲染的过程中&#xff0c;遇到模型渲染出来是黑色的情况并不罕见。这可能是由于多种原因导致的&#xff0c;包括但不限于材质设置问题、灯光配置不当、渲染设置错误等。 一、材质设置问题 材质丢失或错误&#xff1a;如果模型在导入或创建时材质没有正确加载或设置&…

Qt QML学习资料链接

文章目录 1. Qt QML2. 学习和使用Qt QML目的3. Qt QML常用的一些模块举例4. 参考链接 1. Qt QML Qt QML模块为基于QML language开发应用程序和库提供了语言和基础建设。它定义并实现了QML的语法和基础框架&#xff0c;并提供API使得应用程序开发者可以使用定制的类型扩展QML&a…

TypeScript 中的 Mixins

1. Mixins 的概念 Mixins 是一种将多个类的功能组合到单个类中的技术。它允许一个类通过混合&#xff08;Mix&#xff09;其他类的功能来扩展自己的功能&#xff0c;从而实现代码的复用和组合。Mixins 可以用于解决传统继承带来的多重继承问题&#xff0c;并且更加灵活和可扩展…

webservice、WCF、webAPI、MVC权限认证

webservice 权限认证 》》soapHeader SOAPHeader案例 服务引用下生成的服务方法参数中会自动加入一个soapHeader的参数&#xff0c; WEB服务引用则没有&#xff0c;我感觉采用WEB服务引用基于这种验证比较方便&#xff0c; 因为只需将soapHeader实例赋值一次就可以多次调用不…

IDC数据中心内容合规检测

摘要&#xff1a;电信数据中心通过实施AI数据质检方案&#xff0c;自动检测反馈预警&#xff0c;提升服务质量&#xff0c;保障网络合规&#xff0c;降低风险&#xff0c;增强企业竞争力。 1. 客户背景 该客户是国内领先的IDC云计算综合服务提供商&#xff0c;专注于为客户提供…

Vue3中的常见组件通信之v-model

Vue3中的常见组件通信之v-model 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $r…