Как остановить цикл While в конкретном случае?
-
Добрый день, уважаемые знатоки :)
Есть некоторая страница из которой я достаю ссылки. Чтобы ссылки появлялись надо делать скролл страницы. Действие "прокрутка" здесь не работает. Как делаю я? Запускаю цикл While со значением true, на заданной странице нахожу, через xpath, ссылки, получаю последнюю и делаю к ней прокрутку. Но наступает момент, когда страница прокручена полностью и новых ссылок уже нет. Вопрос: как мне остановить цикл, когда новых ссылок уже нет? Никак не могу сообразить :(
-
@Вениамин said in Как остановить цикл While в конкретном случае?:
Добрый день, уважаемые знатоки :)
Есть некоторая страница из которой я достаю ссылки. Чтобы ссылки появлялись надо делать скролл страницы. Действие "прокрутка" здесь не работает. Как делаю я? Запускаю цикл While со значением true, на заданной странице нахожу, через xpath, ссылки, получаю последнюю и делаю к ней прокрутку. Но наступает момент, когда страница прокручена полностью и новых ссылок уже нет. Вопрос: как мне остановить цикл, когда новых ссылок уже нет? Никак не могу сообразить :(
-
Можно просто через xpatch посчитать количество ссылок, и потом просто прервать цикл, к примеру получилось 300 ссылок, ставите условие в самом цикле, [[CYCLE_INDEX]] == 300 и действия "Break" и все цикл завершиться.
-
Break - это прям ответа кэпа хD
Вопрос в том, КОГДА вызвать остановку, нужно условие, об этом речь.
Подсчет ссылок не пойдет здесь, так как я не знаю сколько ссылок может быть. А их может быть как 10, так и 1000, мне ведь надо их все получить..
-
@Вениамин ну у ссылок есть же какой-то общий селектор, по которому и можно подвести подсчет? или остальные ссылке AJAXом подгружаются?
-
@Игорь777 да, остальные ссылки подгружаются, в том то и дело, что нет стартовой информации.
Проблему решил с помощью списка и проверки последнего элемента в этом списке: если этот элемент повторяется, то все, жмем брик. Может это не лучшее решение, но работает.
Спасибо за участие :)