zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    springboot内置tomcat配置虚拟路径
    微信公众号支付备忘及填坑之路-java
    本地调试微信接口(内网穿透到外网)(公网访问局域网程序)
    SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
    SSM项目整合Quartz
    spring整合quartz异常:org.quartz.JobPersistenceException: Couldn't clean volatile data: Unknown column 'IS_VOLATILE' in 'where clause'
    Java NIO技术总结
    你懂redis吗
    mysql排序,同样的sql,mysql 每次查询结果顺序不一致
    mysql 不同索引的区别和适用情况总结
  • 原文地址:https://www.cnblogs.com/CharlesGrant/p/4076884.html
Copyright © 2011-2022 走看看