动态Web表多个复选框选择以匹配列值

时间:2016-11-19 10:00:29

标签: selenium webdriver

我有应用程序,其中有一个动态Web表,我想选择多个复选框以匹配列中的值。

参见附图:

Webapp snap

以下是我迄今为止所做的尝试:

List<WebElement> Rows = s.findElements((By.xpath("//a[text()='Nitesh Kumar']")));
System.out.println("No of rows = "+Rows.size());
int z=Rows.size();
int i =0; for(i=0;i<z;i++)
{
    for (int j = 0; j < Rows.size(); j++ )
    {
        s.findElement(By.xpath("//a[text()='Nitesh Kumar']/../../td[1]")).click();
    }
}

1 个答案:

答案 0 :(得分:0)

将xpath更改为

//table[@id='id of the table']/tbody/*/td[3]/a[text()='Nitesh Kumar')] 

从表中查找元素。 找到元素后,获取列表的大小并使用下面的xpath单击复选框

//table[@id='id of the table']/tbody/*/td[3]/a[text()='Nitesh Kumar')]../td[1]

完整的代码如下所示。

List<WebElement> Rows = s.findElements((By.xpath("//table[@id='id of the table']/tbody/*/td[3]/a[text()='Nitesh Kumar')]")));
System.out.println("No of rows = "+Rows.size());
int z=Rows.size();
int i =0; 
for(i=0;i<z;i++)
  {
    for (int j = 0; j < Rows.size(); j++ )
     {
        s.findElement(By.xpath("//table[@id='id of the table']/tbody/*/td[3]/a[text()='Nitesh Kumar')]../td[1]")).click();
     }
  }