поисковой выдачи.
Мне необходимо было воспользоваться фильтрами поиска, сохранить результаты поиска, потом проверить эти результаты таким образом -
Взять первое значение из сохраненных результатов, вбить его в поиск, и потом проверить, что поиск выдал то, что нужно.(сумбурно наверное написано, но вопрос не совсем про это) Естественно с использованием Selenium и Java
Так вот на сайте с поиском происходит live reload, для того чтобы дождаться результатов поиска по фильтрам, требовалось подождать около 1-2 секунд. Я воспользовался - webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
Но при запуске, этот таймаут не отрабатывал. Он не ждал эти 3 секунды, и сохранял совсем другие результаты(те, что были выведены в данный момент). Мне пришлось воспользоваться Thread.sleep(3000), хотя я так понимаю, что это не верный подход. Может кто то объяснить в двух словах, что я делаю не так? Каким образом заставить драйвер дождаться выдачи нужных результатов?
есть ли какой-нибудь элемент на странице, который показывает, что поиск в процессе?
если надо ждать, то в первом приближении все так. Ибо implicitlywait ждет до появления элемента. Если появился, а потом поменяется, он уже найдет. Если нет возможности завязаться на какой-то прогрессбар, то и sleep пойдет
Обсуждают сегодня