Как ждать загрузки данных поиска в таблицу, если строки таблицы исчезают с поисковым запросом?Селен c # - PullRequest
0 голосов
/ 25 сентября 2019

Таблица загружает данные при первом открытии. Я создал метод, который принимает случайные данные и ищет их. Требуется время, чтобы очистить старые данные, затем отобразить «Нет результата», затем загрузить новый результат поиска, первую строку таблицы.всегда видимый, потому что он отображает «Нет результата» некоторое время. Затем все строки отображаются после загрузки данных. Как я могу выполнить ожидание очистки данных и ожидания загрузки новых данных? Я пытался использовать приведенный ниже код, но продолжает ждать даже послевсе элементы загружены

public void waitForSearchResult()
{
    var wait = new WebDriverWait(Driver, new TimeSpan(0, 1, 0));
    wait.IgnoreExceptionTypes(typeof(NoSuchElementException));
    try
    {
        wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.VisibilityOfAllElementsLocatedBy(Driver.FindElements(By.XPath("//manual-map-bddl-list//tbody/tr"))));
    }
    catch (Exception )
    {

    }

enter image description here

No Result Html

1 Ответ

0 голосов
/ 25 сентября 2019

Я бы попытался использовать ожидание, как это:

wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//manual-map-bddl-list//tbody/tr[2]")));

Так, следовательно, у вас всегда есть одна строка в вашей таблице, которая представляет заголовок таблицы, вам лучше подождать некоторые другие строки.Я предполагаю, что если ваша таблица загрузит вторую строку, это будет означать, что все данные будут отображены.

Этот подход также игнорирует заголовок таблицы (учитывая вторую строку tr в качестве первой строки данных), так чтоусловие не будет выполнено с пустыми результатами.

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