Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Цикл - это действие, или группа действий, которые выполняются либо указанное количество раз, либо до наступления определённого события.

Info

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

...

Если Вы точно знаете, сколько нужно произвести повторов

Сначала создайте переменную, используя действие Обработка переменных -> Установить значение.  При создании переменной Вы указываете её начальное значение и имя, по которому мы будем менять её значение. Внутри цикла переменную нужно увеличивать один раз и далее проверять, если её значение превысило указанный порог, значит, пора выходить из цикла, иначе возвращаетесь к началу цикла. При сравнении переменной с числом не нужно брать в кавычки ни число, ни макрос переменной, т.к. Вы сравниваете числа, а не текст.

Выход из цикла происходит при появлении какого-либо признака на web-странице

Таким признаком может быть появление текста на странице или переход на нужный URL, в любом случае Вам понадобится действие If из категории Логика, в который Вы запишете критерий выхода из цикла на JavaScript. Напоминаем, что выход с ошибкой (по красной точке) из действия If происходит, если Ваш JavaScript при выполнении выдает false. Сам язык JavaScript Вам знать не нужно, просто посмотрите на картинке как записать выражение и измените его под свои данные.

Выход из цикла происходит при появлении ошибки

Самый простой случай, когда Вы не знаете, сколько раз отработает цикл, и не знаете условие конца его работы,  но знаете, что в один момент произойдёт ошибка выполнения проекта и цикл прервётся. Так, например, может быть, если Вы при парсинге поисковика нажимаете в цикле кнопку «далее», когда страницы выдачи кончатся, эта кнопка пропадет и цикл закончится ошибкой. Ошибка тут совершенно не значит, что у Вас всё пойдет не так, ошибка - это просто выход из проекта при проблемах выполнения действий, в данном случае эта ошибка нам помогает закончить цикл.

...

Переменная счётчик

Про переменную счётчик Вы сможет узнать перейдя по ссылке на YouTube.

Логические действия If

Про логические действия If Вы сможет узнать перейдя по ссылке на YouTube.

Создание простого цикла

...

Cоздание

Автоматическое

Создать цикл в ZennoPoster достаточно просто: для этого надо кликнуть ПКМ по экшену (или группе экшенов) и выбрать из контекстного меню пункт Повторить в цикле:

...

После клика появится окно выбора выхода из цикла:

...

Повторять указанное число раз

При выборе этого пункта в поле ввода надо будет ввести желаемое число повторений и после клика по кнопке ОК будут созданы - переменная-счётчик, экшен сравнения счётчика с указанным Вами числом и экшен увеличения значения счётчика.

...

Повторять, пока выполняется условие

В поле ввода Вы вносите необходимое условия и пока оно будет возвращать True, цикл будет продолжаться. После клика по ОК данные из этого поля будут перенесены в экшен IF, поэтому в нём нужно соблюдать те же правила построения выражений, что и в стандартном экшене.

...

Пока текущий URL равен https://google.com будет происходить клик.

Ручное создание цикла

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

Рассмотрим на примере: необходимо достать данные из сайта, у сайта много страниц и для перехода на следующую страницу необходимо кликнуть по кнопке Далее, если страницы кончились, то этой кнопки нет.

В данном случае условием выхода будет ошибка при клике по кнопке Далее(когда экшен не находит элемент, он завершается ошибкой).

...

Советы по использованию

  • Не используйте вечные циклы!

    • Добавляйте счётчик в свои циклы. К примеру Вам необходимо дождаться появления элемента на странице и Вы сделали вечный цикл, который его ожидает. Но в какой-то момент сайт меняет структуру и Ваш шаблон зависает так как никогда не дождётся появления необходимого элемента.

  • Не зацикливайте свои шаблоны! Это может привести к разного рода ошибкам!

Полезные ссылки: