Selenium Webdriver [Java]动态表:获取行的最后一个值(带条件数)

时间:2018-03-06 18:18:06

标签: java selenium xpath selenium-webdriver

我需要帮助使用Selenium和动态表。

我需要点击状态等于" ACTIVE"的最后一个帐户。 在图像中出现示例。

Dynamic Table

我正在尝试使用下一个代码:

WebElement lastCredit = driver.findElement(By.xpath("(//table[@class='tableinfo']/tbody/tr[last()]/td[3]/a and contains(text(), 'ACTIVE'") );
lastCredit.sendKeys(Keys.ENTER);

我无法点击该内容并且该程序失败。

我正在尝试2 FOR:

    WebElement rows = driver.findElement(By.xpath("(//table[@class='tableinfo']/tbody/tr"));
    List<WebElement> columns = (List<WebElement>) driver.findElement(By.xpath("(//table[@class='tableinfo']/tbody/tr[1]/td"));
    String[] array = new String[4];


    for(int i = 0; i <= rows.length; i = i ++)
    {
      for(int j = 0; j <= columns.length; j = j ++)
      {     
        array[j] = driver.findElement(By.xpath("(//table[@class='tableinfo']/tbody/tr[i]/td[j]/a")).getAttribute("value");
      }

      if (array[4] == “ACTIVE”) and (array[4].last()); {

          array.get(4).click();
}
    }

请帮帮我。

1 个答案:

答案 0 :(得分:0)

无论图片如何,如果您要求点击上一个活动状态,请尝试以下简单摘要

List<WebElement> activeColumns = driver.findElements(By.xpath("//td[text()='ACTIVE']"));
activeColumns.get(activeColumns.size()-1).click();