Selenium:利用select模块处理下拉框
发布日期:2022-02-23 07:42:37 浏览次数:3 分类:技术文章

本文共 3145 字,大约阅读时间需要 10 分钟。

1.os,sys 使用

os.remove() #删除文件

os.rename() #重命名文件
os.walk() #生成目录树下的所有文件名
os.chdir() #改变目录
os.mkdir/makedirs() #创建目录/多层目录
os.rmdir/removedirs #删除目录/多层目录
os.listdir() #列出指定目录的文件
os.getcwd() #取得当前工作目录
os.chmod() #改变目录权限
os.path.basename() #去掉目录路径,返回文件名
os.path.dirname() #去掉文件名,返回目录路径
os.path.join() #将分离的各部分组合成一个路径名
os.path.split() #返回(dirname(),basename())元组
os.path.splitext() #返回filename,extension)元组
os.path.getatime\ctime\mtime #分别返回最近访问、创建、修改时间
os.path.getsize() #返回文件大小
os.path.exists() #是否存在
os.path.isabs() #是否为绝对路径
os.path.isdir() #是否为目录
os.path.isfile() #是否为文件
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.modules.keys() #返回所有已经导入的模块列表
sys.exc_info() #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) #程序,正常退出时exit(0)
sys.hexversion #获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version #获取Python解释程序的版本信息
sys.maxint #最大的Int值
sys.maxunicode #最大的Unicode值
sys.modules #返回系统导入的模块字段,key是模块名,value是模块
sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform #返回操作系统平台名称
sys.stdout #标准输出
sys.stdin #标准输入
sys.stderr #错误输出
sys.exc_clear() #用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix #返回平台独立的python文件安装的位置
sys.byteorder #本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
sys.copyright #记录python版权相关的东西
sys.api_version #解释器的C的API版本
sys.version_info #获取Python解释器的版本信息
sys.getwindowsversion #获取Windows的版本
sys.getdefaultencoding #返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding #返回将Unicode文件名转换成系统文件名的编码的名字
sys.setdefaultencoding(name) #用来设置当前默认的字符编码
sys.builtin_module_names #Python解释器导入的模块列表
sys.executable #Python解释程序路径
sys.stdin.readline #从标准输入读一行,sys.stdout.write(“a”) 屏幕输出a

2.Selenium:利用select模块处理下拉框

在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作。。。

首先导入Select模块:

1 # coding=utf-8
2 from selenium import webdriver
3 from selenium.webdriver.support.select import Select
感兴趣的可以将鼠标指向Select,然后按住Ctrl鼠标单击,查看Select模块的源码,是如何定义封装Select的各个方法的。
1、Select提供了三种选择某一项的方法
1 select_by_index # 通过索引定位
2 select_by_value # 通过value值定位
3 select_by_visible_text # 通过文本值定位
注意事项:
index索引是从“0”开始;
value是option标签的一个属性值,并不是显示在下拉框中的值;
visible_text是在option标签中间的值,是显示在下拉框的值;

2、Select提供了三种返回options信息的方法

1 options # 返回select元素所有的options
2 all_selected_options # 返回select元素中所有已选中的选项
3 first_selected_options # 返回select元素中选中的第一个选项
注意事项:
这三种方法的作用是查看已选中的元素是否是自己希望选择的:
options:提供所有选项的元素列表;
all_selected_options:提供所有被选中选项的元素列表;
first_selected_option:提供第一个被选中的选项元素;

3、Select提供了四种取消选中项的方法

1 deselect_all # 取消全部的已选择项
2 deselect_by_index # 取消已选中的索引项
3 deselect_by_value # 取消已选中的value值
4 deselect_by_visible_text # 取消已选中的文本值
注意事项:
在日常的web测试中,会经常遇到某些下拉框选项已经被默认选中,这种时候就需要用到这里所说的四种方法;

下面以实际的代码来做个示例,被测试网页与源码截图如下:

在这里插入图片描述
比如要选择3线,那么三种选择方法示例代码如下:

1 # coding=utf-8

2 from selenium import webdriver
3 from selenium.webdriver.support.select import Select
4 from time import sleep
5
6 # 登录
7 driver = webdriver.Chrome()
8 …
9
10

根据索引选择

11 Select(driver.find_element_by_name(“storeDeclare.cityLine”)).select_by_index(“3”)

12 # 根据value值选择
13 Select(driver.find_element_by_name(“storeDeclare.cityLine”)).select_by_value(“3线”)
14 # 根据文本值选择
15 Select(driver.find_element_by_name(“storeDeclare.cityLine”)).select_by_visible_text(“3线”)
16 sleep(5)
17 driver.quit()

转载地址:https://blog.csdn.net/weixin_42781055/article/details/89445131 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:爬虫部分技巧
下一篇:linux服务器安装nginx

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2023年06月01日 08时09分44秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

beego api连接mysql_使用 Beego 搭建 Restful API 项目 2019-12-01 13:16:42
python设计简单系统、不含数据库_python之数据库支持 2019-12-01 13:16:40
联想笔记本mysql启动不了_目前安装并启动mysql遇到的问题: 2019-12-01 13:16:40
hql 占位符_hibernate查询语句hql中的占位符?参数与命名参数:name设值方式搞混 2019-12-01 13:16:40
mysql加索引原理_添加mysql索引的3条原则 2019-12-01 13:16:40
mysql php nginx_linux Ubuntu下php+mysql+nginx的安装与配置 2019-12-01 13:16:41
mysql数据被污染了_mysqldump造成Buffer Pool污染的研究 2019-12-01 13:16:38
大学一年级软件工程学什么_985/广东省/华南理工大学/考408,计算机考研究竟值不值?... 2019-12-01 13:16:38
遗传算法解决tsp问题_Python遗传算法求解TSP旅行商问题——全国主要城市交通最短路径... 2019-12-01 13:16:39
vscode中的全局搜索_用VS Code开发STM32(二)——编译 2019-12-01 13:16:39
python中栈和队列_python中栈和队列互相实现 2019-12-01 13:16:39
python中计数器函数_Python中使用多个函数的字计数器 2019-12-01 13:16:39
python监控网页_【小白教程】Python3监控网页 2019-12-01 13:16:39
linux mysql 随机密码_centos命令行安装mysql随机密码查看方法(遇到问题及其解决办法)... 2019-12-01 13:16:37
mysql 抢购_java+mysql实现商品抢购功能 2019-12-01 13:16:37
mysql中怎么查看从节点_MySQL中进行树状所有子节点的查询 2019-12-01 13:16:37
mysql db模块下载_亲测:MySQL安装与python下的MySQLdb使用(附软件与模块包) 2019-12-01 13:16:37
监控mysql状态_监控mysql状态脚本 2019-12-01 13:16:37
qt 调用createfile打开串口_在Ubuntu中的串口通信(1)-串口设备读写权限问题 2019-12-01 13:16:38
bootstrap连接mysql并修改_较简单的修改和添加功能(链接数据库) 2019-12-01 13:16:38