1

此表的复选框有问题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) 执行上面的检查复选框,则不会选中该复选框。

4

1 回答 1

0

如果我理解正确,那么该表只有 2 行。所以行列表的索引应该是 0 和 1。您正在尝试获取索引为 2 (rowIdx-1) 的行,该行在 tablerows 列表中不存在。您可以尝试在创建每个列表时打印它的大小吗?

于 2013-08-02T01:27:12.477 回答