Неожиданный результат при использовании метода findelements (By.cssSelector) в WebDriver в цикле - PullRequest
1 голос
/ 28 сентября 2011

Я использую 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 элементов.Я делаю это, потому что у меня есть таблицы, которые имеют очень похожую структуру, но только разные идентификаторы.Я проверил и перепроверил, что идентификатор на втором проходе может вернуть только 9 элементов с текущим кодом.

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

У кого-нибудь есть идеи?Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...