textToBePresentInElement () не работает с точным текстом - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь найти и дождаться элемента с текстом «Всего» с пробелом после «Всего».Я использовал локатор:

//td[./text()='Total ']

Ожидание, которое я реализовал для него:

wait.until(ExpectedConditions.textToBePresentInElement(element,"Total "));

Я получаю TimeOutException.Если убрать пробел после текста " Итого ".работает.Реализация ожидания теперь такова:

wait.until(ExpectedConditions.textToBePresentInElement(element, "Total"));

Почему условие textToBePresentInElement не работает с точным текстом?

1 Ответ

2 голосов
/ 30 мая 2019

Вы можете увидеть ответ в исходном коде

public static ExpectedCondition<Boolean> textToBePresentInElement(final WebElement element, final String text) {
    //...
    String elementText = element.getText();
    return elementText.contains(text);
    //...
}

Метод получает текст, используя element.getText();, что означает, что текст, возвращаемый , отображается в браузере , то есть без пробела

Команда Get Element Text намеревается вернуть текст элемента «как оказываемый»...

Когда вы используете текст "Total ", вы в основном проверяете ожидаемое состояние, если

"Total".contains("Total ");

То есть false, но без пробела он работает.

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