此表的复选框有问题http://dl.dropboxusercontent.com/u/55228056/Locators.html 在复杂表下,您可以在 Access 下看到复选框,我想在 Selenium 中使用 java 检查这些复选框。
下面是我尝试过的代码..
我为 Web 表创建了一个类
public class Table
{
public WebElement getCellEditor(int rowIdx,int colIdx,int editorIdx)
{
try
{
List<WebElement> tablerows=_webTable.findElements(By.tagName("tr"));
WebElement currentrow=tablerows.get(rowIdx-1);
List<WebElement> tablecols=currentrow.findElements(By.tagName("td"));
WebElement cell=tablecols.get(colIdx-1);
WebElement cellEditor=cell.findElements(By.tagName("input")).get(editorIdx);
return cellEditor;
}catch(NoSuchElementException e)
{
throw new NoSuchElementException("Failed to get cell editor");
}
}
扩展到其他类。
public class TestWebTable
{
public void printTable() throws InterruptedException
{
try
{
Table table=new Table(driver.findElement(By.id("users")));
WebElement cellEdit=table.getCellEditor(3,3 ,2);
cellEdit.click();
Thread.sleep(5000);
/*WebElement cellEdit2=table.getCellEditor(3,3,4);
cellEdit2.click();*/
}catch(Error e)
{
verificationErrors.append(e.toString());
System.out.println(verificationErrors.toString());
}
}
如果我通过将 (3,3 ,2) 赋予 (rowindex,columnindex,editorindex) 执行上面的检查复选框,则不会选中该复选框。