首页 > 代码库 > Robotium Table控件的处理

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         //打开chrome51         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

 

Robotium Table控件的处理