Получение ошибки при переборе списка участников в селене методом wait - PullRequest
0 голосов
/ 08 января 2020

Когда я отлаживаю программу, все 3 участника выбраны, но при запуске она выдает ошибку для второго участника, что

java .lang.IllegalStateException: член сети не может быть найден

Входной список имеет следующие значения

  1. Член группы
  2. Член сети
  3. LD Admin

This is the selector Xpath for dropdown

  public MessagesPage findRecipient(List userRecipient) throws InterruptedException {


    int userCount = userRecipient.size();
    int index=0;
    for( Object tempUser : userRecipient){
        WebElement rightUser = null;
        SeleniumUtils.waitElementVisible(driver, searchUser);
        searchUser.sendKeys(tempUser.toString());

        //output element of drop down search user name
        By byUserSearchResult = By.xpath("//tbody[@class='js-pages']/tr/td");

        //Wait till the user list is available.
        new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(byUserSearchResult));
        List<WebElement> resultTable = driver.findElements(byUserSearchResult);

        //The code is failing here for 3rd element in the list
        for (WebElement user : resultTable) {
            String check = user.getText();
            if (check.contentEquals(tempUser.toString())) rightUser = user;
        }

        if (rightUser == null)
            throw new IllegalStateException("The " + tempUser.toString() + " can not be found");

        rightUser.click();

    }

1 Ответ

0 голосов
/ 08 января 2020

Вам нужно вызвать WebDriverWait ( elementToBeClickable ) для каждого элемента.

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(rightUser));
rightUser.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...