- Регистрация
- 09.10.2015
- Сообщения
- 3 916
- Благодарностей
- 3 867
- Баллы
- 113
Почти каждый сталкивался с действием "Создать проверку наличия выделенного текста", которое генерирует несколько кубиков, с помощью которых можно понять появился необходимый текст на странице / загрузилась ли до конца страница.
Я использовал это действие при перехода на каждый URL, чтоб проверить что страница имеет нужные элементы для заполнения (банально проверял по самому последнему, который необходим). А если в итоге текст не находился, то я добавлял кубик "Свой C# код", откуда "выплёвывал" ошибку с человеческим текстом где что случилось. К тому же, после каждого перехода/клика я добавлял небольшие паузы, чтоб быть уверенным в том, что страница успела выполнить необходимые скрипты. В итоге мои проекты выглядели примерно вот так:
В какой-то момент я устал смотреть на это безобразие, да и надоело копипастить и менять текст ошибки постоянно, поэтому взял себя в руки - и запилил плагин, с помощью которого проекты стали выглядеть следующим образом:
Таким образом я избавился от 12 лишних кубиков, функционал которых (и даже чуть больше) уместился в 4!
Настройки плагина:
Данный плагин особо полезен тем, что при его использовании в случае, если он не находит текст - в ZennoPoster данный поток уйдёт в "неуспешные", что означает что можно выставить в настройках у шаблона "количество неуспехов подряд" и шаблон остановится автоматически если, например, поменялась верстка
PS: @ibred, я всё ждал-ждал, пока появится раздел с плагинами, но так и не дождался, поэтому выкладываю тут
PPS: в аттаче плагин, исходный шаблон для него (чтоб вы могли посмотреть как он работает и в случае чего допилить / перекомпилировать) и иконка.
Я использовал это действие при перехода на каждый URL, чтоб проверить что страница имеет нужные элементы для заполнения (банально проверял по самому последнему, который необходим). А если в итоге текст не находился, то я добавлял кубик "Свой C# код", откуда "выплёвывал" ошибку с человеческим текстом где что случилось. К тому же, после каждого перехода/клика я добавлял небольшие паузы, чтоб быть уверенным в том, что страница успела выполнить необходимые скрипты. В итоге мои проекты выглядели примерно вот так:
В какой-то момент я устал смотреть на это безобразие, да и надоело копипастить и менять текст ошибки постоянно, поэтому взял себя в руки - и запилил плагин, с помощью которого проекты стали выглядеть следующим образом:
Таким образом я избавился от 12 лишних кубиков, функционал которых (и даже чуть больше) уместился в 4!
Настройки плагина:
- Пауза (сек.): сколько секунд ожидать перед тем как выполнится поиск.
- Что взять: варианты - Dom (DOM-модель страницы после выполнения скриптов), Source (исходный код страницы), Text (видимый текст на странице).
- Вкладка: варианты - Активная, Первая, По имени, По номеру.
- Имя (вкладки): появится поле при выборе варианта вкладки "По имени" для ввода имени.
- Номер (вкладки): появится поле при выборе варианта вкладки "По номеру" для ввода номера вкладки.
- Regex: регулярное выражение или просто текст, который мы будем искать на странице.
- Заменять пробелы на '\s+': полезная опция, которая работала в дефолном действии по умолчанию - за место пробелов подставлялся этот символьный класс.
- Exception: текст ошибки, который отобразится в логе (если включен параметр №9), если в этом поле пусто, то в логе выведется следующее: Не смогли найти фразу: 'текст из Regex'.
- Отобразить ошибку в логе ZennoPoster: соответственно - отображаем в логе ошибку или нет, если не отображаем то плагин просто пойдет по красной ветке (полезно, когда нужно из красной ветки уйти в какое-то другое действие без оповещений).
- Вывести текущий URL в лог: если в настройках ProjectMaker включен "Расширенный вариант окна лога" (Настройки -> Отладка), то в первую колонку будет выводится URL текущей страницы.
Данный плагин особо полезен тем, что при его использовании в случае, если он не находит текст - в ZennoPoster данный поток уйдёт в "неуспешные", что означает что можно выставить в настройках у шаблона "количество неуспехов подряд" и шаблон остановится автоматически если, например, поменялась верстка
PS: @ibred, я всё ждал-ждал, пока появится раздел с плагинами, но так и не дождался, поэтому выкладываю тут
PPS: в аттаче плагин, исходный шаблон для него (чтоб вы могли посмотреть как он работает и в случае чего допилить / перекомпилировать) и иконка.
Вложения
-
276,8 КБ Просмотры: 507
Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: