У нас есть поле быстрого поиска на странице, которое фильтрует список результатов предыдущего поиска с помощью вызова AJAX.
Мы попробовали несколько методов проверки содержимого измененного списка.
В начале есть список, например, такой:
<div class="search-list">
<div class="entry">
<div class="job-title">Manager</div>
...
</div>
<div class="entry">
<div class="job-title">Slave</div>
...
</div>
</div>
После быстрого поиска весь поиск search-list
будет заменен ответом AJAX со вторым entry
divудаляется.
Мы пытаемся проверить это условие с помощью следующего оператора:
page.find('.search-list .job-title').map(&:text) =~ ['Manager']
, но он видит состояние только до того, как будет выполнен запрос AJAX.Вероятно, это связано с тем, что условие проверяется немедленно, не дожидаясь завершения запроса AJAX.Мы попробовали несколько методов, например, установили опцию драйвера * Selenium resynchronize
.
Помещение спящего режима 10 перед вышеприведенной строкой работает, но является нечистым решением.В настоящее время мы не знаем, как заставить это работать, кто-нибудь еще?