Robotium Table控件的处理

时间:2022-11-10 21:25:55

HTML代码:

 <html>
<head>
<title>Table</title>
</head>
<body>
<table border="1" id="myTable">
<tr>
<th>列标题A(1 ,1)</th>
<th>列标题B(1 ,2)</th>
<th>列标题C(1 ,3)</th>
</tr>
<tr>
<td>2行, 1格</td>
<td>2行, 2格</td>
<td>2行, 3格</td>
</tr>
<tr>
<td>3行, 1格</td>
<td>3行, 2格</td>
<td>3行, 3格</td>
</tr>
</table>
</body>
</html>

JAVA代码:

 package com.test;

 import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; public class Test_table {
private WebDriver driver; Test_table(WebDriver driver){
this.driver = driver;
} /**
* 获取指定行和列的文本
*/
public String getCellText(By by, int tableColunm, int tableRow) {
//得到table元素对象
WebElement table = driver.findElement(by);
//设置单元格位置(行、列)。
int row = tableRow;
int column = tableColunm;
//得到table表中所有行对象,并得到所要查询的行对象。
List<WebElement> rows = table.findElements(By.tagName("tr"));
WebElement theRow = rows.get(row);
//调用getCell方法得到对应的列对象,然后得到要查询的文本。
String text = getCell(theRow, column).getText();
return text;
} private WebElement getCell(WebElement Row,int cell){
List<WebElement> cells;
WebElement target = null;
//列里面有"th"、"td"两种标签,所以分开处理。
if(Row.findElements(By.tagName("th")).size()>0){
cells = Row.findElements(By.tagName("th"));
target = cells.get(cell);
}
if(Row.findElements(By.tagName("td")).size()>0){
cells = Row.findElements(By.tagName("td"));
target = cells.get(cell);
}
return target;
} public static void main(String[] args) {
String url = "file:///C:/Documents and Settings/fy/桌面/table.html";
//打开chrome
WebDriver dr = new ChromeDriver();
dr.get(url); Test_table table = new Test_table(dr);
System.out.println(table.getCellText(By.id("myTable"), 0, 2));
System.out.println(table.getCellText(By.id("myTable"), 2, 1)); dr.quit();
}
}

页面输出:

 HeadingC(1 ,3)
3, 2

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

  1. 解决SMARTFORMS 中table 控件单行跨页的问题

    在CX项目中,MM模块做了大量的的单据打印的工作,一个问题困扰了我好久,一直不能解决.当物料描述很长时,table控件在单元格中能自动换行,这样就有可能在换页处出现一行记录的一部分打在上一页,一部分记 ...

  2. Table 控件各元素及属性

    功能:在Web页中创建通用表格里. 属性: 1.CellPadding属性:用于设置表中单元格的边框和内容之间的距离(以像素为单位).默认为-(未设置). 2.CellSpacing属性:用于设置表中 ...

  3. 灵活轻便的Table控件,适合复杂样式的内容排版

    github仓库地址 https://github.com/gaoyangclub/GYTableViewController 前言 TableView是在项目开发的时候经常用到的组件,几乎百分之八十 ...

  4. FastReport&period;Net使用:&lbrack;21&rsqb;表格&lpar;Table&rpar;控件

    对表格控件的一些常用操作 合并单元格:选择需要合并的单元格(按住Shitf多选),然后在右键菜单中选择[合并单元格].         2.删除/插入行 鼠标移到在行头,当鼠标状态变为向右的箭头时点击 ...

  5. java ,用公司框架写的显示列表 Table控件

    <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org" lan ...

  6. json 和 table控件

    <!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content= ...

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

    <div style="position:absolute; display:none; z-index:99999" id="d3" onmouseov ...

  8. 如何在ElementUI中的Table控件中使用拼音进行排序

    本人使用版本是1.4.7 在这个版本中对应全是String的column进行排序并不是按照拼音的方式排列的. 这里我贴一下源代码就可以看出是为什么了: export const orderBy = f ...

  9. ASP&period;NET给Table动态添加删除行,并且得到控件的值

    ASP.NET给Table动态添加控件并且得到控件的值 由于跟老师做一个小的项目,可是我自己又不太懂js,所以一直为动态建立表格并且能动态的取值和赋值感到苦恼.起初在网上找到了一些js资源,解决了动态 ...

随机推荐

  1. 使用FragmentTabHost&plus;TabLayout&plus;ViewPager实现双层嵌套Tab

    大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示. 本文实现采用FragmentTabHo ...

  2. MSDTC故障排除,DTCTester用法 &lpar;二&rpar;

    摘自:https://support.microsoft.com/zh-cn/kb/293799#bookmark-4 ———————————————————————————— 概要 DTCTeste ...

  3. Nodejs Http发送post请求

    Nodejs  Http发送post请求 var http = require('http'); function epay(params) { console.log(" COME IN& ...

  4. SAE&sol;ISO standards for Automotive

    On-Board Diagnostics J1962 Diagnostic Connector Equivalent to ISO/DIS 15031-3: December 14, 2001J201 ...

  5. 文成小盆友python-num7 -常用模块补充 ,python 牛逼的面相对象

    本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是 ...

  6. LintCode-A &plus; B 用位操作模拟加法

    class Solution { public: /* * @param a: The first integer * @param b: The second integer * @return: ...

  7. sql server 高可用性技术总结

    一.  复制Replication(快照.事务.合并) 应用场景: 负载均衡.提供副本读,写操作. 分区将历史数据复制到其它表中. 授权,将数据提供它人使用. 数据合并. 故障转移. 优点: 实现简单 ...

  8. h5页面避免两个页面反复跳转死循环

    项目中经常会碰到在一个页面加判断之后跳转另一个页面,并且无法返回,来回跳转,死循环,遇到这种情况可以在跳转时使用location,replace,关闭之前页面,与location.href 两者的不同 ...

  9. utf-8-validation

    https://leetcode.com/problems/utf-8-validation/ public class Solution { public boolean validUtf8(int ...

  10. Objective-C中的基本数据类型

    // // main.m // 01.基本数据类型 // // Created by zhangqs008 on 14-2-13. // Copyright (c) 2014年 zhangqs008. ...