Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java =================================================================== diff -u -r19080 -r19132 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 19080) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 19132) @@ -924,19 +924,7 @@ * @return 单元格对象 */ private static WebElement getFirstCellOfTable(WebElement table) { - WebElement cell = null; - // Now get all the TR elements from the table - List allRows = table.findElements(By.tagName("tr")); - System.out.println("rows size = " + allRows.size()); - if (allRows != null && allRows.size() > 0) { - WebElement row = allRows.get(0); - // return row; - List cells = row.findElements(By.tagName("td")); - if (cells != null && cells.size() > 0) { - cell = cells.get(0); - } - } - return cell; + return getIndexCellOfTable(table, 0); } /** @@ -947,6 +935,16 @@ * @return 单元格对象 */ public static WebElement getforthCellOfTable(WebElement table) { + return getIndexCellOfTable(table, 3); + } + + /** + * 获取表格的第一行的第index个单元格,只获取显示的单元格,会过滤掉不显示的单元格 + * @param table HTML的表格 + * @param index 第一行的第index个单元格,index从0开始计数 + * @return + */ + private static WebElement getIndexCellOfTable(WebElement table, int index) { WebElement cell = null; // Now get all the TR elements from the table List allRows = table.findElements(By.tagName("tr")); @@ -955,9 +953,19 @@ WebElement row = allRows.get(0); // return row; List cells = row.findElements(By.tagName("td")); - if (cells != null && cells.size() > 0) { - cell = cells.get(3); + + List cellsNotHidden = new ArrayList(); + // 去掉隐藏的cell + for (WebElement myCell : cells){ + String style = myCell.getAttribute("style"); + if ( style == null || style.indexOf("none") == -1){ + cellsNotHidden.add(myCell); + } } + + if (cellsNotHidden.size() >= index + 1 ) { + cell = cellsNotHidden.get(index); + } } return cell; }