selenium下拉框的操作这样做,阿里p10都直呼牛逼

下拉框处理

web页面上经常会有下拉框,对下拉框的处理比较简单,一般分为两种情况:

一、下拉框通过元素定位识别

 driver.find_element(By.XPATH,'//option[@value="peach"]').click()

二、创建一个select的对象,然后通过相应方法处理

先导入Select包: from selenium.webdriver.support.select import Select

element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]')
select_obj = Select(element_obj)
select_obj.select_by_value(value属性的值)        # 利用value选择选项
select_obj.select_by_visible_text(文本内容)       # 利用可见的文本内容选择选项
select_obj.select_by_index(5)                            # 利用下标选择选项,下标从0开始

代码如下:

import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select  # 导入Select包

current_path = os.path.dirname(os.path.abspath(__file__))  # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe')  # driver路径
pages_path = os.path.join(current_path,'../pages/element_samples.html')  # 本地网页路径
driver = webdriver.Chrome(executable_path=driver_path)  # Firefox,Ie等
driver.get('file://%s'%pages_path)  # 本地网页打开file://  打开部署好的站点http://

# 直接识别下拉框选项并点击(select)
driver.find_element(By.XPATH,'//option[@value="peach"]').click()

# 先识别下拉框元素,把元素转换成Select对象,然后利用Select对象的方法去识别
element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]')
select_obj = Select(element_obj)
select_obj.select_by_value("banana")  # 利用value选择选项
time.sleep(2)
select_obj.select_by_visible_text('桔子')  # 利用可见的文本内容选择选项
time.sleep(2)
select_obj.select_by_index(5)  # 利用下标选择选项,下标从0开始

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

 总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java--继承快速入门

1.什么是继承 java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立其父子关系。 2.继承的特点 子类能继承父类的非私有成员(成员变量,成员方法)。 3.继承后对象的创建 子类的对象是由子类、父类共同完成的。 4.继承的…

自然资源土地管理法律法规知识竞赛这么办才高端

近些年,全国各地自然资源厅举办了土地管理法律法规知识竞赛,从我公司承办的这些赛事来看,传统的必答题、抢答题、风险题的方式已无法激起现场比赛气氛,需要更加复杂有趣的环节设置及高端竞赛软件及其配套设备加持才可以让知识竞赛…

盒马鲜生集成指南:无代码连接加强电商平台、CRM和客服系统的API应用

简化账号集成流程 为了在盒马鲜生平台上实现账号的集成,企业仅需两个关键信息:统一门店ID和Secret。统一门店ID的获取可以通过与餐道相关人员的沟通来开通,并在餐道管理后台获取。而Secret则需要联系集简云的客户成功获取。得到这两项信息后…

leetcode 343.整数拆分(动态规划)

OJ链接 &#xff1a;leetcode 343.整数拆分 代码&#xff1a; class Solution {public int integerBreak(int n) {int[] dp new int[n1];//每个n&#xff0c;拆分多个整数乘积的最大值dp [0] 0;dp [1] 1; for(int i 2 ; i<n; i){for(int j 0 ; j < i; j){dp[i] Ma…

windows版本的grafana如何离线安装插件

本文以安装clickhouse的插件为例&#xff0c;记录下如何离线安装插件 1 下载插件 ClickHouse plugin for Grafana | Grafana Labs 2 找到grafana的配置文件 打开编辑&#xff0c;搜索plugin关键字&#xff0c;修改plugin的加载目录 目录不存在&#xff0c;手动创建&#xff0…

本地websocket服务端暴露至公网访问【cpolar内网穿透】

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

Go iota简介

当声明枚举类型或定义一组相关常量时&#xff0c;Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符&#xff0c;它用于创建自增的无类型整数常量。iota的行为类似于一个计数器…

2023APMCM亚太杯数学建模选题建议及初步思路

大家好呀&#xff0c;亚太杯数学建模开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c;本次亚太杯推荐选择B题。 C题如果想做好&#xff0c;搜集数据难度并不低&#xff0c;并且模型比较简单&#xff0c;此外目前选择的人数过多&#xff0c…

振南技术干货集:制冷设备大型IoT监测项目研发纪实(5)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 &#xff08;制冷设备对于便利店为何如何重要&#xff1f;了解一下你所不知道的便利店和新零售行业。关 于电力线载波通信的论战。&#xff09; 2、电路设计 2.1 防护电路 2.1.1 强电防护…

前端开发工具集合

文章目录 Visual Studio Code (VS Code)安装及配置一、安装二、常用插件三、相关配置四、统一配置代码 Visual Studio Code (VS Code)安装及配置 一、安装 下载地址&#xff1a;https://code.visualstudio.com/ ?> VS Code 下载慢&#xff0c;解决办法请点击 双击下载文件…

6个PPT素材网站,让你快速做出好看的PPT

找PPT模板一定要收藏好这6个网站&#xff0c;能让你快速做出好看的PPT&#xff0c;重点十可以免费下载&#xff0c;赶紧收藏&#xff01; 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYwNDUx 菜鸟图库网有非常丰富的免费素材&#xff0c;像设计类、办公…

STM32电容触摸按键检测

STM32电容触摸按键检测 电容触摸按键简介检测原理 CubeMX配置代码展示&讲解TPAD.cTPAD.h 本期内容我们将学习电容触摸按键的检测原理。以及代码实现思路 电容触摸按键 简介 电容触摸按键依赖的是电容的充放电相对于机械按键更加耐用&#xff0c;不容易受外界环境干扰在我们…

leetcode (力扣) 97. 交错字符串(动态规划)

文章目录 题目描述思路分析完整代码 题目描述 给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串&#xff1a; s s1 s2 … sn t …

低代码开发与IT开发的区别

目录 一、含义不同 二、开发门槛不同 三、两者之间的区别 1、从技术特征来看 2、从目标开发者来看 四、低代码平台使用感受&#xff1f; &#xff08;1&#xff09;自定义模块&#xff0c;满足不同的业务需求 &#xff08;2&#xff09;工作流引擎&#xff0c;简化复杂流程的管…

MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量

项目场景&#xff1a; 在接口自动化的时候&#xff0c;要把上一个接口的 Int 变量传入到 下一个接口中进行使用&#xff0c;但编译器会出现 红色的 X 符号 问题描述 如何实现 int 类型的入参实现动态化变量&#xff1f; 解决方案&#xff1a; 忽视掉这个红色 X 号&#xff0…

Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例

网络爬虫是一种自动从互联网上获取数据的程序&#xff0c;它可以用于各种目的&#xff0c;如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多&#xff0c;不同的编程语言和框架都有各自的优势和特点。在本文中&#xff0c;我将介绍一种使用Go语言和pholcus库的网络爬…

selenium 简单案例 <批量下载文件> <网页自动化点击上报>

一、批量下载文件 网页分析 点击跳转到下载页面 from selenium import webdriver import timedef get_link_list():# 创建浏览器对象driver webdriver.Chrome(executable_pathrC:\Users\nlp_1\Desktop\chromedriver\chromedriver-win32\chromedriver.exe)url https://www…

登陆页面模板

简单好看的登陆页面 vue项目代码 可忽略js部分 先来个效果图 <template><div class"login"><div class"content"><p >账户密码登录</p><div class"unit"><label class"label">用户名</…

非遗数字保护的崭新篇章:十八数藏柏松的文化守护

在数字时代&#xff0c;非遗数字保护崭新的篇章由十八数藏柏松书写。这个数字保护的使者不仅仅是文化的守护者&#xff0c;更是文化传承的崭新篇章的开创者。 首先&#xff0c;十八数藏柏松以数字技术作为媒介&#xff0c;将传统非物质文化遗产数字化&#xff0c;为其创造了一个…

Java字节码指令集概述及分类详解

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、字节码指令集与解析概述 Java字节码对于虚拟机&#xff0c;就好像汇编语言对于计算机&#xff0c;属于基本执行指令。 Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字&#xff08;称为操作码&a…