Webdriver:如何单击表格特定行的按钮(C#)

时间:2017-05-08 17:33:49

标签: c# selenium dynamic webdriver

table data

您好,

图中显示的表格是动态的。测试用例是单击相应的删除按钮,其名称等于"测试组2"。

请建议使用C#代码。

2 个答案:

答案 0 :(得分:1)

不知道第四个td下面的内容我不能肯定地说,但你可以找到一个看起来像这样的xpath。

//td[contains(text(),'Test Group 2')]/..//td[4]//button

您可能必须指定哪个按钮,因为该编辑按钮将位于同一个td中。

答案 1 :(得分:0)

您可以使用以下方法。传递您正在寻找的值,如“测试组2”。下面将遍历表并停止值。从那里,通过下面点击垃圾桶。

 tds[i + 4].Click();

所以看一下列,只计算在右边(+)或左边( - )。如果要单击“分配”按钮,则应为:

tds[i + 2].Click();

如果您在“测试组2”左侧有一个按钮,则会传入:

tds[i - 1].Click();

方法:

 public void ClickTableLink(string value)
 {
 var table =  driver.FindElement(By.Id("assetGroup-table"));
 foreach (var tr in table.FindElements(By.TagName("tr")))
 {
 var tds = tr.FindElements(By.TagName("td"));
for (var i = 0; i < tds.Count; i++)
{
    if (tds[i].Text.Trim().Contains(value))
    {
        tds[i + 4].Click();
        break;
    }

   }
  }
}