Java 使用WebDriver';循环中的s findelements(By.cssSelector)方法

Java 使用WebDriver';循环中的s findelements(By.cssSelector)方法,java,testing,selenium,webdriver,Java,Testing,Selenium,Webdriver,我使用WebDriver通过css选择器验证页面上的元素。使用我创建的以下方法“checkTablesByHeader” public static void checkTablesByHeader(WebDriver driver, String[] columnHeaderValues, String tableID, String selector){ String elementSelector = "#" + tableID + " "+selector; List&

我使用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++;
    }
publicstaticvoidchecktablesbyheader(WebDriver驱动程序,String[]columnheadervalue,stringtableid,字符串选择器){
String elementSelector=“#”+表格ID+”“+选择器;
列表元素=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");
    }

for(int i=1;我看不出你的代码有任何错误……我将如何调试:1.进入代码,在第二遍中获得“elementSelector”的确切值。2.抓取Firefox,安装Firebug和Firefinder插件3.导航到问题4中的页面。粘贴“elementSelector”的值进入Firefinder 5。查看Firefinder结果5。[如果适用]在WebDriver网站上写一个bug