场景:需要重复增加地址栏信息,如果地址信息超过了5个就不开始增加

如图:

1.找到控件集合,在遍历每个子元素,在进行选择

1.先找到最外层的div的控件集合

2.外层的css定位为:

int startSumAdress =driver.findElements(By.cssSelector("div#ship_addr_list > div.list")); 外层的地址集合列表 #集合
if(startSumAdress<5){
while (startSumAdress<5){
addAdress(); //新增地址
startSumAdress = op.getElements("ShippingAddressList").size();//每次都取最新的集合长度
Log.logInfo("现在是第几个地址:"+startSumAdress);
}
}

3.取得集合中的某一个元素,如一个订单列表,你需要取得他里面的一个订单号在进行编辑

如图,都测试环境的数据,应该没有关系

1.取的他某一行的数据,肯定还是要先获取控件集合

2.在取得他的某一行,我们以css为例

外层控件集合的css:

#userMain > div.userH_box.orderBox.p15 > table> tbody

第一行数据订单的控件集合:

#userMain > div.userH_box.orderBox.p15 > table > tbody > tr:nth-child(2) > td:nth-child(1) > a

第二行数据订单的控件集合:

#userMain > div.userH_box.orderBox.p15 > table > tbody > tr:nth-child(3) > td:nth-child(1) > a

从上发现:变化的是> tr:nth-child(2)  这里面的值

故事就开始了:

List<WebElement> rows =driver.findElements(By.cssSelector("#userMain > div.userH_box.orderBox.p15 > table > tbody > tr"))// 获取列表行数,注意这个tr

for (int i = 1; i < rows.size(); i++) { //i就是控制你要取的那几行
getcode = rows.get(i).findElement(By.cssSelector("td:nth-child(1)> a")).getText();//取得数据
if (getcode.equals(ordercode[0])) {
rows.get(i).findElement(By.cssSelector("td:nth-child(1)> a")).click();//点击第一行的数组
Log.logInfo("快速支付订单编号为:"+getcode);
Log.logInfo("查找到对应的订单号!!!!");
break;
} else {
Log.logError("没有查找到对应的订单号!!!!");
}
Log.logInfo("getcode:" + getcode);
}

  

selenium遍历控件集合的更多相关文章

  1. wpf 遍历控件及其值

    /// <summary> /// 遍历控件及其值 /// </summary> /// <param name="uiControls">界面 ...

  2. 控件包含代码块(即 <% ... %>),因此无法修改控件集合

    错误: “/”应用程序中的服务器错误. 控件包含代码块(即 <% ... %>),因此无法修改控件集合. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解 ...

  3. javascript遍历控件(实例详解)

    js遍历页面控件, 代码如下 复制代码  var inputArr = document.forms[0];   for( var i = 0; i < inputArr.length; i++ ...

  4. asp.net 中的那些编译错误(1):控件包含代码块(即<% ... %>),因此无法修改控件集合

    在编译页面的时候出现:控件包含代码块(即 <% ... %>),因此无法修改控件集合错误 一般原因是: 在<head runat="server">< ...

  5. 老李推荐:第14章9节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-遍历控件树查找控件

    老李推荐:第14章9节<MonkeyRunner源码剖析> HierarchyViewer实现原理-遍历控件树查找控件   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员 ...

  6. FineUI控件集合

    FineUI(开源版)基于 ExtJS 的开源 ASP.NET 控件库. using System; using System.Collections.Generic; using System.Te ...

  7. 消息框MessageBox+遍历控件

    消息对话框:主要用来显示信息,也可以警告.用户确认取消等. MessageBox.Show("展示内容","标题",MessageBoxButtons.按钮种类 ...

  8. javascript客户端遍历控件与获取父容器对象

    javascript客户端遍历控件与获取父容器对象示例代码 1,遍历也面中所有的控件function findControlAll()    {        var inputs=document. ...

  9. [Python爬虫] 之六:Selenium 常用控件用法

    Selenium 常用控件用法 1.文本框 上图中,如何定位搜索文本框,并输入搜索内容进行搜索 首先:利用方法 find_element_by_xpath定位元素:inputElements = se ...

随机推荐

  1. 两个ERP 库存调拨

    (A) ERP 负责线上销售,公司为扩大规模,发展线下实体 采用另一套ERP(B) A 和B  都是 单独的ERP  ,为了使两个ERP 能高效地工作,需开发一个单独衔接模块实现 ,库存的调拨,新品的 ...

  2. li中包含span,在IE6、IE7下会有3pxbug

    如果给每个li里面加个span标签的话,在IE6,IE7下看,li与li之间的距离就会多了3px. 解决方法:在li中加vertical-align:middle; <div class=&qu ...

  3. 基于Andoird 4.2.2的同步框架源代码学习——同步发起端

    关键组件: ContentResolver ContentService SyncManager SyncManager.ActiveSyncContext SyncManager.SyncOpera ...

  4. 百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能

    百度语音识别通过REST API的方式给开发人员提供一个通用的HTTP接口,基于该接口,开发人员能够轻松的获取语音识别能力,本文档描写叙述了使用语音识别服务REST API的方法. 长处: 较之开发人 ...

  5. 全面认识jQuery.fn,菜鸟总结

    今天想做树形导航栏,查找了资料,找到了一个框架,比较小所以研究其中的代码,发现第一句话就把我难住了,主角是——jQuery.fn. 在此,再次停住,只好继续找资料,现在整理下自己所理解到的知识. 一, ...

  6. jQuery Mobile与QUI框架的异曲同工之处

    最近一直在研究jQuery Mobile框架,这是jQuery的官方移动版UI框架,专门用来开发手机与平板电脑方面的应用.结果越来越觉得它和我的QUI框架的开发思路非常相似,很多地方都有异曲同工之妙. ...

  7. cdoj 26 遮挡判断(shadow) 水题

    遮挡判断(shadow) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/26 ...

  8. Looksery Cup 2015 B. Looksery Party 暴力

    B. Looksery Party Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/549/pro ...

  9. Android游戏背景音乐音效音量控制

    游戏音效就是我们在玩游戏时出现的音乐,这个也是每个游戏必备的一部分,但有是你做游戏的背景音乐有间断的感觉的话,我们可以用 getCurrentPosition()这个方法来判断一下声音播放的偏移.其实 ...

  10. iOS开发——动画OC篇&知识点总结

    图层与动画知识点总结 1.Core Animation 非娱乐类的软件都会用到的动画,操作简单. 2.Quartz 2D绘图 是一个2D绘图引擎. (1) 绘图Context是一个绘图的目标对象,定义 ...