web自动化系列-selenium的下拉框定位(十三)

在功能操作过程中 ,遇到下拉列表是很正常的事 ,比如像一些查询条件就都是使用的是下来列表 。所以 ,selenium也需要支持对下拉框的操作 。

1.下拉列表

在selenium中,也提供了一个下拉列表操作的类 :Select . 以下为该类的介绍。

# 下拉列表
"""
具体步骤:
1. 导包 : from selenium.webdriver.support.select import Select
2. 创建对象 : select = Select(elem)		# 下拉列表的元素
3. 调用以下的方法支持的方法 :
1. 可以通过索引定位 :select_by_index(index) : 根据option索引来定位 ,位置从0开始
2. 可以通过值来定位:select_by_value(value) : 根据option属性值来定位 ,value就是属性对应的值
3. 可以通过文本值来定位 :select_by_visible_text(text) : 根据option内容定位    
"""

2.具体案例

接下来通过自己实现的一个下拉列表页面来进行演示 ,页面中只有一个下拉列表。

编写一段代码进行下拉列表的操作 。  

from selenium import webdriver
import time
from selenium.webdriver.support.select import Selectdriver = webdriver.Chrome()
driver.get(r"E:\drop_down.html")time.sleep(1)# 获取下拉列表的对象
elem = driver.find_element_by_name("辛弃疾")# 将对象传入Select类中
select = Select(elem)# 通过select_by_index定位 :索引定位
select.select_by_index(1)       # 获取下拉列表中的第2个值
time.sleep(3)# 通过select_by_value定位 :value值定位
select.select_by_value('06')		# 获取下拉列表中的06对应的值
time.sleep(3)# 通过select_by_visible_text定位 :文本定位
select.select_by_visible_text("八百里分麾下炙,五十弦翻塞外声。沙场秋点兵。")		# 获取下拉列表该文本值的定位
time.sleep(3)driver.quit()

3. 项目应用

 

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

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

相关文章

设计模式入门(三)单例模式

文章目录 前提单例模式概念应用场景应用懒汉式饿汉式 参考链接 前提 最近在实际项目中使用到了设计模式中的单例模式,之前也单纯地从理论方面学习过单例模式,但是一直没有机会实际应用到项目中,这次从项目入手简单地对单例模式进行总结。 单…

jdk版本冲突,java.lang.UnsupportedClassVersionError: JVMCFRE003

主要是编辑器所用的jdk版本和项目用的不一致导致的,虽然编译通过了,但是运行是会报错 选好后点击Apply点击ok,然后重新编译一遍项目就可以了

【运维】Gitlab备份

Gitlab备份 备份什么?在哪?备份命令? 一、配置文件 GitLab默认的配置文件路径:/etc/gitlab/ /etc/gitlab/gitlab.rb:主配置文件,包含外部URL、仓库目录、备份目录等 /etc/gitlab/gitlab-secrets.json&…

万辰集团如何破局“增收不增利”的困境?

在波澜不惊的食用菌加工行业,万辰集团(300972.SZ)曾是一名平凡的参与者。2021年战略转型的号角吹响,万辰集团挥别了传统业务,转而投身于快速增长的量贩零食市场,并迅速扩张到成为这一领域的重要玩家。万辰的…

Docker常见问题排查思路与实战

Docker作为一种流行的容器化技术,已经在众多场景中得到广泛应用。然而,在使用过程中,我们难免会遇到各种问题。本文将介绍一些常见的Docker问题及其排查思路,并通过实战案例帮助大家更好地理解和应对这些挑战。 1. Docker容器启动…

又重新搭了个个人博客

哈喽大家好,我是咸鱼。 前段时间看到一个学弟写了篇用 Hexo 搭建博客的教程,心中沉寂已久的激情重新被点燃起来。(以前搞过一个个人网站,但是因为种种原因最后不了了之) 于是花了一天时间参考教程搭了个博客网站&…

【数据结构(邓俊辉)学习笔记】向量03——无序向量

文章目录 0.概述1.元素访问2.置乱器3.判等器与比较器4.无序查找4.1 判等器4.2 顺序查找4.3 实现4.4 复杂度 5. 插入5.1 算法实现5.2 复杂度分析 6. 删除6.1 区间删除6.2 单元删除6.3 复杂度 7. 唯一化7.1 实现7.2 正确性7.3 复杂度 8. 遍历8.1 实现8.2 复杂度 9. 总结 0.概述 …

Spark 基础

/* Why Spark一、MapReduce编程模型的局限性1、繁杂:只有Map和Reduce两个操作,复杂的逻辑需要大量的样板代码2、处理效率低:2.1、Map中间结果写磁盘,Reduce写HDFS,多个Map通过HDFS交换数据2.2、任务调度与启动开销大3、…

LayuiMini使用时候初始化模板修改(下载源码)

忘记加了 下载 地址 : layui-mini: layuimini,后台admin前端模板,基于 layui 编写的最简洁、易用的后台框架模板。只需提供一个接口就直接初始化整个框架,无需复杂操作。 LayuiMini使用时候初始化模板官网给的是: layu…

SpringBoot整合RabbitMQ direct交换机、fanout交换机、topic交换机

PS 常见错误 1、有匹配到交换机,但是没有匹配到绑定的队列。(交换机没有绑定队列)- not route 2、没有匹配到交换机。(交换机名称错误,not found - exchange) 3、交换机和队列都没有匹配(和第二…

Vue 组件单元测试深度探索:组件交互与状态变更 专业解析和实践

在Vue组件单元测试中,验证组件之间的交互(如父组件与子组件、兄弟组件之间的通信)以及状态变更的正确性对于保证整个应用的协调运作至关重要。本文详细介绍了父组件向子组件传递props、子组件向父组件发送事件、兄弟组件通过共享状态&#xf…

自然语言处理 (NLP) 的技术演变史

一、简述 本文的目标是了解自然语言处理 (NLP) 的历史,包括 Transformer 体系结构如何彻底改变该领域并帮助我们创建大型语言模型 (LLM)。 基础模型(如 GPT-4)是最先进的自然语言处理模型,旨在理解、生成人类语言并与之交互。 要理…

鸿蒙小案例-搜索高亮

搜索高亮目前官方也没有可以现成的组件,但是需求来了,怎么办,只能摸索着自己写一个 目前官方API中最接近的应该是 richText组件了,富文本组件,当然可以实现,但是有不少问题 1.大小调整太麻烦,跟…

MySQL中截取字符串有哪些方法

文章目录 一、SUBSTRING() 或 SUBSTR() 函数二、LEFT() 函数三、RIGHT() 函数四、使用字符串连接和定位函数截取五、 正则表达式截取六、SUBSTRING_INDEX() 函数: 在MySQL中,你可以使用多种方法来截取字符串。以下是一些常用的方法: 一、SUB…

焊接机器人-常见焊接工艺参数

常见焊接工艺参数 常见焊缝平焊立焊 常见焊接工艺调试方法注意事项 常见焊缝 常见的焊缝一般见于不需要坡口焊的规则钢构件:如H型钢、H型牛角杠、T型梁、弧形梁等。 平焊 参数Value电流(安培)200A电压(伏特 )20V摆弧-振幅(毫米)4-6mm摆弧- 频率(Hz)1Hz摆弧- 两侧…

国产3D自研技术如何突围?眸瑞科技给3D建设、管理带来全新模式

眸瑞科技是全球领先的数字孪生引擎技术及服务提供商,它专注于让一切3D模型在全网多端轻量化处理与展示,为行业数字化转型升级与数字孪生应用提供成套的国产自研3D可视化技术、产品与服务。 引言 眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&…

【MyBatisPlus】一、公共字段填充配置

目录 一、实体类配置 二、配置MyBatis Plus元对象处理器 三、接口字段自动填充 在使用mybatisplus项目中设置公共字段填充,可以按如下进行配置 一、实体类配置 TableField(value "create_time",fill FieldFill.INSERT)private LocalDateTime createTime…

【C++】哈希思想

目录 哈希介绍: 一,位图 1-1,位图的认识 1-2,位图的简单实现 1-3,位图的应用 二,布隆过滤器 2-1,布隆过滤器的认识 2-2,布隆过滤器的简单实现 2-3,布隆过滤器的…

Kafka 3.x.x 入门到精通(06)——Kafka进阶

Kafka 3.x.x 入门到精通(06)👉👉👉👉 Kafka进阶 3. Kafka进阶3.1 Controller选举3.2 Broker上线下线3.3 数据偏移量定位3.4 Topic删除3.5 日志清理和压缩3.7 页缓存3.8 零拷贝3.9 顺写日志3.10 Linux集群部…

Debian12使用宝塔国际aaPanel无法安装Docker

宝塔国际aaPanel自带安装Docker,安装了几次都失败,最后仔细看了安装日志,才发现其中的问题。 复制 --2023-11-28 13:42:13-- https://node.aapanel.com/install/0/docker_install_en.sh Resolving node.aapanel.com (node.aapanel.com)...…