Robotium Table控件的处理

HTML代码:

 1 <html>
 2     <head>
 3         <title>Table</title>
 4     </head>
 5     <body>
 6         <table border="1" id="myTable">
 7             <tr>
 8                 <th>列标题A(1 ,1)</th>
 9                 <th>列标题B(1 ,2)</th>
10                 <th>列标题C(1 ,3)</th>
11             </tr>
12             <tr>
13                 <td>2行, 1格</td>
14                 <td>2行, 2格</td>
15                 <td>2行, 3格</td>
16             </tr>
17             <tr>
18                 <td>3行, 1格</td>
19                 <td>3行, 2格</td>
20                 <td>3行, 3格</td>
21             </tr>
22         </table>
23     </body>
24 </html>

JAVA代码:

 1 package com.test;
 2
 3 import java.util.List;
 4 import org.openqa.selenium.By;
 5 import org.openqa.selenium.WebDriver;
 6 import org.openqa.selenium.WebElement;
 7 import org.openqa.selenium.chrome.ChromeDriver;
 8
 9 public class Test_table {
10     private WebDriver driver;
11
12     Test_table(WebDriver driver){
13         this.driver = driver;
14     }
15
16     /**
17      *  获取指定行和列的文本
18      */
19     public String getCellText(By by, int tableColunm, int tableRow) {
20         //得到table元素对象
21         WebElement table = driver.findElement(by);
22         //设置单元格位置(行、列)。
23         int row = tableRow;
24         int column = tableColunm;
25         //得到table表中所有行对象,并得到所要查询的行对象。
26         List<WebElement> rows = table.findElements(By.tagName("tr"));
27         WebElement theRow = rows.get(row);
28         //调用getCell方法得到对应的列对象,然后得到要查询的文本。
29         String text = getCell(theRow, column).getText();
30         return text;
31     }
32
33     private WebElement getCell(WebElement Row,int cell){
34         List<WebElement> cells;
35         WebElement target = null;
36         //列里面有"th"、"td"两种标签,所以分开处理。
37         if(Row.findElements(By.tagName("th")).size()>0){
38             cells = Row.findElements(By.tagName("th"));
39             target = cells.get(cell);
40         }
41         if(Row.findElements(By.tagName("td")).size()>0){
42             cells = Row.findElements(By.tagName("td"));
43             target = cells.get(cell);
44         }
45         return target;
46     }
47
48     public static void main(String[] args) {
49         String url = "file:///C:/Documents and Settings/fy/桌面/table.html";
50         //打开chrome
51         WebDriver dr = new ChromeDriver();
52         dr.get(url);
53
54         Test_table table = new Test_table(dr);
55         System.out.println(table.getCellText(By.id("myTable"), 0, 2));
56         System.out.println(table.getCellText(By.id("myTable"), 2, 1));
57
58         dr.quit();
59     }
60 }

页面输出:

1 HeadingC(1 ,3)
2 3, 2
时间: 2024-10-14 22:39:45

Robotium Table控件的处理的相关文章

Unity编辑器开发:官方风格的Table控件

Unity编辑器开发:官方风格的Table控件 Table控件能够非常直观地展现批量的数据.在Unity中,Light Explorer就是一个典型的具有Table控件的窗口. 如上图所示,窗口上方是4个TabButton.下面就是一个Table.这个Table功能非常强大,有列表,排序,筛选,实时同步数据更新,实时同步选择等功能. 在Unity项目开发中,也常常需要做这种Table数据的展示或者类似的功能,比如简单的一个需求,找出当前场景中所有的Camra,并显示它的某些属性.用Table控件

MFC——table控件的使用

table控件的使用创建自定义table类,继承自CTabCtrl 类向导,添加MFC类 创建CMyTab类 给tab控件添加变量,变量类型为刚才创建的自定义类 给tab控件添加标签 void CMyTab::PreSubclassWindow(){// TODO: 在此添加专用代码和/或调用基类InsertItem(0, L"A");InsertItem(1, L"B");InsertItem(2, L"C");CTabCtrl::PreSub

json 和 table控件

<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>挑战题</title> <style> .ui-table {margin: 20px auto; border-collapse: collapse; font-size:

关于div 浮动在select,或table控件之上

<div style="position:absolute; display:none; z-index:99999" id="d3" onmouseover="show()" onmouseout="hidden();"> <iframe style="width:100%;filter:alpha(opacity=0);-moz-opacity:0; height:185px; position

获取table控件的某行某列

<script type="text/javascript"> $(document).ready(function(){ //使用keyup事件获取按下的动作 $("input").keyup(function(){//获取tr长度 var leng=$("#id tr").length; //循环获取tr行数 for(var tr=1;tr<=leng;tr++) { var nin=$("#id").f

Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9

Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9 1. 主要的涉及的技术 1 2. 主要的流程 1 3. 调用法new confirmO9t(); 1 4. 设置确认在后的回溯事件 c.backHandle="window.opener.confirmSubmitBackeventHandle"; 2 5. 设置详细表格显示模板  c.tmplt="/publish/lookOverdetail_templt.jsp";

Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结

Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结 1. 服务端table控件的几个流程周期 1 1.1. 确认要显示的字段(开始渲染) 1 1.2. 确认要显示的title 1 1.3. 格式化 1 2. Render显示级别 1 2.1. 简单化...grid.toHTML(); 1 2.2. 有些设置(title,field) 1 2.3. 完全的的设置(模板机制) 1 3. 服务器端控件跟模板的分离实现 2

基本的Web控件二

ListBox控件 ListBox控件用于创建多选的列表框,而可选项是通过ListItem元素来定义的. ListBox控件常用的属性: 1.Count:表示列表框中条目的总数. 2.Items:表示列表框中的所有项,而每一项的类型都是ListItem. 3.Rows:表示列表框中显示的行数. 4.Selected:表示某个条目是否被选中. 5.SelectedIndex:列表框中被选择项的索引值. 6.SelectedItem:获得列表框中被选择的条目,返回的类型是ListItem. 7.Se

FoxOne---一个快速高效的BS框架--WEB控件属性编辑器

FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架--(4) 我们都知道,VS中有个WEBFORM的控件属性编辑器,能够自动反射控件的各个属性,并且根据属性的类型出现相应的编辑控件,例如: 1.布尔类型,对应下拉框,里面的选项出现 是 和 否 2.枚举类型,对应下拉框,里面的选项出现的是枚举的各个值 3.string类型和int类型,出现的都是输入框