WebDriver - 定位动态列

时间:2014-10-19 19:34:07

标签: selenium webdriver

我正在使用webdriver来测试我们的应用程序,其中包含用户可以更改表中列的顺序的表,还可以删除/添加列(这是开发人员添加的新列旁边)。

找到我需要的列的正确方法是什么? 一种方法是遍历表标题以找到我要查找的列,因此我有列索引,而不是我可以访问正确的单元格。

还有其他方法吗? 如何为表中的每个元素添加唯一的id / class名称?

由于

1 个答案:

答案 0 :(得分:1)

你可以为这种情况做两件事:

  1. 获取table元素的句柄,然后相应地导航以获取列或行。一旦你有了这个,那么你可以对它们进行所有操作,如click()等。

  2. 其他方式是,查看他们ids / css的模式,因为我处理的大部分表格都是ids这样:

    grid_name_1 grid_name_2 grid_name_3

  3. 然后你可以这样做:

    String baseLocator = "grid_name_" + clickedRowIndex;
    driver.findElement(By.id(baseLocator)).click(); //for click operation
    

    假设用户想要点击第3行,clickedRowIndex3选择第3行表。