选择下拉列表最大索引值 Select From List By Max Index
Select是网页表单中较为常见的元素,在Selenium2Library 中也有相应关键字可以操作,比如:
(1)通过指定索引选择
Name: Select From List By Index Arguments: [ locator | *indexes ]
Selects `*indexes` from list identified by `locator`
(2)通过指定文本选择
Name: Select From List By Label Arguments: [ locator | *labels ]
Selects `*labels` from list identified by `locator`
(3)通过指定value选择
Name: Select From List By Value Arguments: [ locator | *values ]
Selects `*values` from list identified by `locator`
(4)可以同时选择多项
Name: Select From List Arguments: [ locator | *items ]
Selects `*items` from list identified by `locator`
(5)选择所有项
Name: Select All From List Arguments: [ locator ]
Selects all values from multi-select list identified by `id`.
为了快速操作方便,我们实现一个让Select自动赋最大索引值的方法。为什么是最大索引值而不是最小呢,比如第一个option为"" 或者"请选择",即使选中也是不符合要求的。所以继续看代码:
第1行:get_list_items获取select 的options集合
第2行:获取options集合中项的个数,注意此处用'$' 而不是'@'
第3行:通过计算得到所要的索引值
第4行:借用Select From List By Index 根据索引选择
至此,已经实现了想要的功能,但是还比较粗糙。如果options 的长度为0(这种情况是有可能的) ,并且在实际使用过程中发现如果options集合过大会有明显的等待过程,我们来看下get_list_items函数:
可以看到函数内部引用了_get_select_list_options 和 _get_labels_for_options
先看_get_select_list_options
这里只是一个简单地判断,并返回结果。看来症结应该是在_get_labels_for_options函数了
一个for 循环,虽然时间复杂度只有O(n)但也会因为options的长度变长而耗时
选择下拉列表最大索引值 Select From List By Max Index的更多相关文章
- jQuery取得select选择的文本与值
jquery获取select选择的文本与值获取select :获取select 选中的 text :$("#ddlregtype").find("option:selec ...
- [荐] jQuery取得select选择的文本与值
csdn:http://blog.csdn.net/tiemufeng1122/article/details/44154571 jquery获取select选择的文本与值获取select :获取se ...
- jquery获取select选择的文本与值
jquery获取select选择的文本与值获取select :获取select 选中的 text : $("#ddlregtype").find("option:s ...
- Swift基础之两种选择星星的评价样式并获取星星的索引值
想练练手,所以封装了一个两种选择星星的评价样式的Demo,并且可以获取到点击的星星的索引值,方便记录值,上传数据时使用 首先创建View类,设计初始化方法,并且用到了枚举类型和代理方法 方式一:默认的 ...
- MySQL如何选择合适的索引
先来看一个栗子 EXPLAIN select * from employees where name > 'a'; 如果用name索引查找数据需要遍历name字段联合索引树,然后根据遍历出来的主 ...
- OGG复制进程延迟高,优化方法二(存在索引),SQL选择不好的索引
https://www.cnblogs.com/lvcha001/p/13469500.html 接前序,本次场景中有索引,但是OGG复制进程使用了低效率的索引? 类似SQL使用低效索引,如何让Or ...
- jQuery 使用索引值容易出错的一个地方
先看代码 $('input:eq(2)').attr('value', function(index, val){ console.log(index); //输出0 }); 问:当前元素的索引值,不 ...
- Jquery常用radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关设置
获取一组radio被选中项的值:var item = $('input[name=items][checked]').val(); 获取select被选中项的文本:var item = $(" ...
- ASP.NET中gridview获取当前行的索引值
在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作.例如,可以获得当前行某一个控件元素:设置某一元素的值等等.下面结合实例介绍几种获得GridView当前行索引值的方法. ...
随机推荐
- 297. Serialize and Deserialize Binary Tree
题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...
- 在CentOS下面编译WizNote Qt Project
编译环境 CentOS 64位 Desktop 版本:6.5 编译前的准备: CentOS的用户默认没有root权限,如果当前用户没有权限root,则可以在终端里面执行下面的命令: su root s ...
- SSIS ->> 生成时间格式
有时我们需要生成一个文件,文件名的构成是当前时间的特定字符串格式,如yyyyMMddHHmmss 当前时间变成yyyyMMddHHmmss这个格式: (DT_WSTR,4) YEAR(GETDATE( ...
- Sql case when用法
说明,sql中的if和else 是不能在select 语句中使用的.只能用来控制sql程序的流程.只能用case when. CREATE TABLE USER(NAME VARCHAR(20) NO ...
- linux kernel文件系统启动部分
现在的kernel里,有个叫做ramfs的文件系统,会把initrd(或者ramdisk,为惯性叫法)里的东西挂载到early-rootfs里(即rootfs,是ramfs的一个特殊实例),执行一些在 ...
- Linux设备模型——设备驱动模型和sysfs文件系统解读
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的 ...
- .NET_Framework_version_history
http://en.wikipedia.org/wiki/.NET_Framework_version_history
- R语言记录程序运行的时间
f <- function(start_time) { start_time <- as.POSIXct(start_time) dt <- difftime(Sys.time(), ...
- MongoDB 学习笔记(五)索引
http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html
- 无锁编程(四) - CAS与ABA问题
CAS 一般采用原子级的read-modify-write原语来实现Lock-Free算法,其中LL和SC是Lock-Free理论研究领域的理想原语,但实现这些原语需要CPU指令的支持,非常遗憾的是目 ...