选择下拉列表最大索引值 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当前行索引值的方法. ...
随机推荐
- VS2010/MFC编程入门之四(MFC应用程序框架分析)
VS2010/MFC编程入门之四(MFC应用程序框架分析)-软件开发-鸡啄米 http://www.jizhuomi.com/software/145.html 上一讲鸡啄米讲的是VS2010应用 ...
- C#将list转换为datatable
DataTable dt = new DataTable(); if (_list != null) { //通过反射获取list中的字段 System.Reflection.PropertyInfo ...
- Post的请求案例
1.简单的post请求案例 $.post(rootPath+"/jasframework/loginLog/getStatisticsInfoByUserId.do",functi ...
- pl/sql programming 15 数据提取
数据提取 -- 游标 游标只是一个指向某个结果集的指针. 声明游标: cursor employee_cur IS select * from employees; 打开游标: open employ ...
- SCSS(SASS、CSS)学习
看的这篇文章 http://www.frostsky.com/2014/07/sass-scss/ 写的还比较清晰 SASS是CSS3的一个扩展,增加了规则嵌套.变量.混合.选择器继承等等.通过使用命 ...
- 深入理解Java对象的序列化与反序列化的应用
当两个进程在进行远程通信时,彼此可以发送各种类型的数据.无论是何种类型的数据,都会以二进制序列的形式在网络上传送.发送方需要把这个Java对象转换为字节序列,才能在网络上传送:接收方则需要把字节序列再 ...
- MoreLinq和Linq
MoreLinq里的Batch和Partition不知道什么区别. var ints =Enumerable.Range(1,10); var result = ints.Batch(3); var ...
- Debian 如何更改hdmi接口输出的分辨率
1. 先删除无用的文件: a) Boot/boot.src b) Boot/script.bin 2. 打开boot/script.fex,找到disp_init节点 a) 将screenX_outp ...
- uses-permission权限汇总
问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permis ...
- Codeforces 447 C DZY Loves Sequences【DP】
题意:给出一列数,在这个序列里面找到一个连续的严格上升的子串,现在可以任意修改序列里面的一个数,问得到的子串最长是多少 看的题解,自己没有想出来 假设修改的是a[i],那么有三种情况, 1.a[i]& ...