Python自动化测试selenium操作下拉列表实现

处理下拉列表需要使用selenium中的工具类Select,常用方法如下:

示例网站:Sahi Tests

示例场景:打开Sahi Tests页面,

(1)点击“Select Test”页面,鼠标点击页面中第一个下拉列表。

 

示例脚本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

from selenium import webdriver

from time import sleep

from selenium.webdriver.support.select import Select

class TestSelected(object):

    def setup(self):

        self.driver = webdriver.Chrome()

        self.driver.get("https://sahitest.com/demo/")

  

    def test_selected(self):

        #点“Select Test”链接

        self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[4]").click()

        #点第一个下拉框

        se=self.driver.find_element_by_id("s1Id")

        #选中下拉框选项

        select=Select(se)

  

        #循环打印下拉框选项

        for options in select.options:

            print(options.text)

运行结果:

 

(2)操作多选列表

 

示例脚本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

from selenium import webdriver

from time import sleep

from selenium.webdriver.support.select import Select

class TestSelected(object):

    def setup(self):

        self.driver = webdriver.Chrome()

        self.driver.get("https://sahitest.com/demo/")

   def test_multiselected(self):

    #点“Select Test”链接

    self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[4]").click()

    #列表多选框

    mulsel = self.driver.find_element_by_id("s4Id")

    select2 = Select(mulsel)

    #选择列表中所有选项

    for i in range(6):

        select2.select_by_index(i)

        #根据索引值反选

        # select2.deselect_by_index(i)

        sleep(1)

    sleep(2)

    #反选所有

    select2.deselect_all()

    self.driver.quit()

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

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

相关文章

Git版本管理配置说明 - Visual Studio

一、 Git服务端配置 在源代码管理服务器新建文件夹,并配置共享访问权限Everyone(读取/写入)。 在本地访问这台服务器共享目录,确保正确打开。 在VS中打开项目,点选Git更改,点击“创建Git仓库”,创建项目初始版本。 弹出如下对话框: 因为我们只是在局域网中开发项…

LeetCode题:931下降路径最小和

目录 一、题目要求 二、解题思路 (1)状态表示 (2)状态转移方程 (3)初始化 (4)填表顺序 (5)返回值 三、代码 一、题目要求 931. 下降路径最小和 给你…

Web测试中文件上传测试

总体情况 功能实现: (1)文件类型正确、大小合适。 (2)文件类型正确,大小不合适。 (3)文件类型错误,大小合适。 (4)文件类型和大小都合适&#xff…

路由跳转添加进度条

根据npm官网的步骤: 1.先安装nprogress npm install nprogress 2.引入nprogress和样式文件 import nprogress from nprogress import nprogress/nprogress.css 3.在前置守卫添加进度条的展示 //全局前置守卫 router.beforeEach((to: any, from: any, next: an…

Pyside2 (Qt For Python)进度条功能实现

Pyside2 (Qt For Python)进度条功能实现 进度条(QProgressBar) 今天来介绍PySide2进度条(QProgressBar)的使用,如下所示: 说明 进度条也是一个常用的控件,当程序需要做一件比较耗费时间的任…

【序列化】概念及二叉树序列化、反序列化的两种方式

序列化是什么?为什么需要序列化? 前言: (1)进程想要运行,就要向操作系统申请内存空间,进程对数据的所有操作都是在内存空间中完成的。内存中有一部分数据很重要,我们希望将这些数据存…

实现Linux SSH免密码登录:使用密钥对进行身份验证

在Linux系统中,SSH(Secure Shell)是一种安全的远程登录协议。为了提高系统访问的安全性并减少每次登录时输入密码的麻烦,可以通过免密登录的方式来访问远程主机。本文将介绍如何使用SSH公钥认证实现Linux系统的免密登录。 1. 生成…

Slurm集群管理系统

Slurm集群管理系统 Slurm(Simple Linux Utility for Resource Management,https://slurm.schedmd.com/)是一个开源的、容错的、高度可扩展的集群管理和作业调度系统,适用于大型和小型高性能计算(HPC)集群。…

【go语言开发】go项目打包成Docker镜像,包括Dockerfile命令介绍、goctl工具生成

本文主要介绍如何将go项目打包成镜像,首先介绍Dockerfile常用命令介绍,然后介绍使用工具goctl用于生成Dockerfile,还可以根据需求自定义指令内容,最后讲解如何将go-blog项目打包成镜像,以及如何运行等 文章目录 前言Do…

提高工厂能源效率的关键:工厂能耗监测平台

工业做为能源消耗的重要场所,所以节能减排对工业来讲是一个亟需解决的问题。除了对设备进行更新换代外,还需要能源管理消耗监测平台,帮助企业实现节能减排的目标。 工厂能源消费量非常庞大,能源比较难以监测与控制。传统能源的管…

【Linux】信号的保存和捕捉

文章目录 一、信号的保存——信号的三个表——block表,pending表,handler表sigset_t信号集操作函数——用户层sigprocmask和sigpending——内核层 二、信号的捕捉重谈进程地址空间(第三次)用户态和内核态sigaction可重入函数volat…

04 硬件知识入门(二极管)

1 二极管的定义 导电性能介于导体与绝缘体之间的材料称为半导体,常见的半导体材料有硅、锗和硒等。利用半导体材料可以制作各种各样的半导体元器件,如二极管、三极管、场效应管和晶闸管等都是由半导体材料制作而成的。 2 二极管的简介 1.半…

js取出对象数组某个属性拼接成字符串或者取出某些属性组成新的数组

数组users: users[{id:1,name:张三},{id:2,name:李四}] 现在需要把数组里所有的 id、name 取出,拼接成一个以逗号分隔的字符串,直接上代码 let userIds users.map((user) > { return user.id }).join(,) console.log(use…

独立站的优点是什么?/独立站的优点是什么?/独立站的优点是什么?

独立站是指一个独立的电子商务网站,由商家自行搭建和运营,不依赖于任何第三方平台。独立站具有以下优点: 一、自主性和自由度 独立站由商家自行搭建和运营,因此商家具有更高的自主权和自由度。他们可以根据自己的需求和目标受众…

已解决error: (-215:Assertion failed) inv_scale_x > 0 in function ‘cv::resize‘

需求背景 欲使用opencv的resize函数将图像沿着纵轴放大一倍,即原来的图像大小为(384, 512), 现在需要将图像放大为(768, 512)。 源码 import cv2 import numpy as np# 生成初始图像 img np.zeros((384, 512), dtypenp.uint8) img[172:212, 32:-32] 255 H, W …

华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

Vue2学习笔记(数据监测)

Vue监视数据的原理: 1. vue可以监视data中所有层次的数据。 2. 如何监测对象中的数据? 通过setter实现监视,且要在new Vue时就传入要监测的数据。 (1).对象中后追加的属性,Vue默认不做响应式处理 (2).如需给后添加的属性做响应式&…

26、卷积 - 实际上是一个特征提取器

矩阵乘法的本质是特征的融合,卷积算法的本质是特征的提取。 回想一下之前所有介绍卷积的时候,描述了一种卷积运算的场景,那就是一个窗口在图片上滑动,窗口中的数值是卷积核的参数,也就是权值。 卷积的计算本质是乘累…

相似背景搜索相关技术专利总结

CN 110569878 A 一种基于卷积神经网络的照片背景相似度聚类方法及计算机-上海汇付数据服务有限公司2019 思路 对原始图像预处理以校正原始图像中的识别目标的方向前景图像特征与背景图像特征进行实例分割,并进行背景分离(在测试时将原始图像中被实例分…

吹响AI技术应用的号角

毫无疑问,各企业正围绕各种技术展开一场持续不断的角逐,力争率先取得领先且具创新性的技术进步,AI技术也不例外。疫情期间,全球各地企业的员工纷纷转向居家办公。因此,为轻松实现这一转型并建立起远程办公的新常态&…