Подскажите пожалуйста. В таблице в течение примерно 10 секунд жду обновление числового значения. Первоначально стоит 0 или любое другое число, новое значение может быть любым числом. Как сделать ожидание на изменение значения?(с таймаутом)
p.s. смотрел структуру до смены/после она та же, только текст меняется
Может быт так:
$("путь к ячейке").waitWhile(matchText("(?:0{1})$|([0-9]+)"), 15000L);
Спасибо за ответ. К сожалению при смене значения ожидание продолжается, видимо потому что новая цифра также входит в регулярку. (в итоге падает по таймауту)
Мб сначала подождать, что он стал не равен предыдущему значению, а потом уже новому? Ну либо отслеживать запросы тогда в данном случае
Ещё если данные обновляются, то иногда таблица получает доп атрибут и можно на него опираться. Пробовали изучать, меняется ли что в таблице в ходе загрузки данных?
Спасибо за ответ. Да, походу надо что-то делать на ЯП. Структура элемента не меняется при обновлении значения, поэтому там зацепиться не за что.
Вам нужен один из методов:
- shouldHave(text(“Text”)); - подождет повления указанного текста 4с.
- waitUntil(text(“Text”), 10000); - будет ждать нужный текст указанное время в миллисекундах
- shouldHave(matchText("\w")); - подождет повления нужного текста по регулярке 4с
Спасибо.
shouldHave - мне нужно дождаться смены значения, и я не знаю какое оно будет.
Если там задан какой-то текст по-умолчанию, тогда можете пойти обратным путем и подождать, пока текущий текст изменится используя shouldNotHave(text("CurrentText"));