在循环中使用WebDriver的findelements(By.cssSelector)方法的意外结果

时间:2011-09-28 16:43:59

标签: java testing selenium webdriver

我正在使用WebDriver通过css选择器验证页面上的元素。使用我创建的以下方法'checkTablesByHeader'。

public static void checkTablesByHeader(WebDriver driver, String[] columnHeaderValues, String tableID, String selector){
    String elementSelector = "#" + tableID + " "+selector; 
    List<WebElement> elements = driver.findElements(By.cssSelector(elementSelector));
    int i = 0;
    for (WebElement e : elements){
        Assert.assertTrue(e.getText().contains(columnHeaderValues[i]));
        i++;
    }

我的问题在于如下所示在循环中使用此方法。第一遍完美无缺,只能抓住列表中的九个元素。第二遍应具有相同的确切数字,但返回300 +元素。我这样做是因为我的表具有非常相似的结构,但只有不同的ID。我已检查并重新检查第二遍的id只能返回当前代码的9个元素。

    for(int i=1; i<6; i++){
    SeleniumUtil.checkTablesByHeader(driver, stringArrayNine, ("mqContent_a_" + i), "th");
    }

有人有什么想法吗?提前谢谢。

0 个答案:

没有答案