ONDOWNLOAD
Команда iMacros ONDOWNLOAD
Команда ONDOWNLOAD автоматически обнаруживает и перехватывает загрузки. Используйте команду до начала загрузки, чтобы определить месторасположение и имя сохраняемого файла. Тайм-аут для страницы так же относится и к загрузкам. Убедитесь, что значение времени ожидания достаточное, чтобы файл успел загрузиться.
Обычно имя загружаемого файла создается автоматически, на сервере. Вы можете добавить свои детали к исходному имени файла, используя знак «+» (смотрите примеры ниже). Особо полезна в данном случае встроенная переменная !NOW.
iMacros может посчитать контрольную сумму загруженного файла и сравнить ее со значением параметра CHECKSUM. Вы можете проверить, что загруженные файлы не повреждены, или еще хуже, были заражены вирусом (через взломанный сервер). Поддерживаются контрольные суммы MD5 и SHA1.
Синтаксис:
ONDOWNLOAD FOLDER=папка FILE=имя_файла WAIT=[YES|NO] CHECKSUM=[MD5|SHA:шестнадцатеричная_строка]
или
ONDOWNLOAD CANCEL=YES
Параметры:
FOLDER
Указывает путь к папке, в которую будет сохранен файл. Используйте * для использования стандартной папки загрузки iMacros, которая указана в настройках.
Обратите внимание, что пробелы в пути нужно заменить на <SP>: C:\Моя<SP>папка (вместо C:\Моя папка).
FILE
Задает имя файла, под которым файл будет сохранен. Если расширения файла не задано, то используется значение по умолчанию. Используйте * чтобы оставить имя файла без изменений. Используйте + для того, чтобы добавить дополнительную информацию к исходному имени файла (перед расширением файла), зачастую добавляют временную метку !NOW.
WAIT
Указывает, должен ли iMacros ждать завершения загрузки (WAIT=YES) или продолжить выполнять макрос без ожидания (WAIT=NO), по умолчанию YES.
CHECKSUM
Вычисляет контрольную сумму загруженного файла и сравнивает ее с заданным значением (в виде шестнадцатеричной строки), используется либо MD5 или SHA-1 хэш-функции. Примечание: для работы CHECKSUM нужно WAIT=YES.
CANCEL Останавливает автоматическую загрузку с сайтов. Обратите внимание, что параметр CANCEL реализован в iMacros Browser v9.01 и выше.
Примеры:
Предположим, вы хотите скачать файл, который называется setup.exe. В следующем фрагмете кода ONDOWNLOAD iMacros сохранит этот файл под исходным именем в папку по умолчанию (задана в найстройках):
ONDOWNLOAD FOLDER=* FILE=*
Этот пример сохранит файл в каталоге C:\МояПапка\ под названием myDownload.exe:
ONDOWNLOAD FOLDER=C:\МояПапка\ FILE=myDownload.exe
Еще один пример: команда будет сохранять файл в каталог по умолчанию, к названию файла будет добавлена отметка даты (с помощью переменной !NOW). Получится: setup_110217.exe.
ONDOWNLOAD FOLDER=* FILE=+{{!NOW:ddmmyy}}
Примечание: Символ «+» используется только если вы хотите добавить свой текст к исходному имени файла. В этом случае, «+» должен быть первым символом (FILE=+…). «+» нельзя использовать, если вы хотите объединить несколько переменных. Для того чтобы добавить значения переменных в название файла, просто вставьте их в строку.
Пример:
... FILE=заказ_{{number}}_от{{departement}}.pdf
Вы можете проверить целостность загруженного файла с помощью параметра CHECKSUM. При этом ожидаемая контрольная сумма ранее была рассчитана с помощью функции SHA-1.
ONDOWNLOAD FOLDER=* FILE=* WAIT=YES CHECKSUM=SHA1:3FD97C2EC475731997F7F28CB5C07F3D1A1E820A
В случае, когда вы хотите избежать автоматической загрузки (одного или нескольких) файлов, вы можете использовать параметр CANCEL (строка 1). CANCEL может быть задан только тогда, когда другие параметры в команда не используются. И действует до тех пор, пока не выполнится одна из команд в строке 3 или 4:
ONDOWNLOAD CANCEL=YES ... ONDOWNLOAD CANCEL=NO ONDOWNLOAD FOLDER=... FILE=...
Скачиване PDF файлов:
Пожалуйста, убедитесь что вы отключили или удалите дополнения браузера для обработки PDF файлов, такие как Adobe. После этого браузер предложит вам скачать PDF как обычную загрузку, и теперь iMacros можнет автоматизировать это процесс.
Сайт для тестирования скачивания PDF файла:
http://demo.imacros.net/Automate/PDFdemo
Примечания:
После того, как происходит нажатие на скачиваемый файл, должно пройти немного времени перед тем как появится диалоговое окно для загрузки. Если iMacros не может словить это окно или останавливается с ошибкой, в этом случае рекомендую добавить небольшую временную задерку:
WAIT SECONDS=2
после команды, которая запускает загрузку. Это дает iMacros время ожидания диалогового окна.
Параметр WAIT=YES относится к другому ожидания, а именно после того, как загрузка началась он должен ждать ее завершения.
При работе с Internet Explorer вам необходимо включить автоматические запросы на загрузку, чтобы избежать появления уведомлений.
Необходимо включить показ расширений файлов (в проводнике Windows)! Иначе, ONDOWNLOAD iMacros не сможет переименовать файл, при загрузке, на ваш вариант. Либо используйте * для того чтобы сохранить файл как есть.
FOLDER не поддерживает относительный путь, а FILE поддерживает. В случае, если вы хотите загрузить файл в подпапку в стандартной папке iMacros Downloads, вы можете использовать параметр FILE, но вложенная папка должна существовать до начала загрузки файла.
Параметр FOLDER может создавать папки, так что, если вы хотите сохранить файл в папку которой еще нет, она должна быть вписана в FOLDER, а не в FILE.
Важные заметки:
Максимально допустимое время загрузки устанавливается !TIMEOUT_PAGE (60 сек по умолчанию). Так как оно рассматривается как и максимальное время загрузки, то если вам надо больше времени для загрузки файлов, пожалуйста, увеличьте это значение, например SET !TIMEOUT_PAGE 300. Если загрузка закончится раньше 5 мин (300 сек) макрос продолжит выполняться. В противном случае вы получите ошибку тайм-аута.
Если загрузка не началась до конца макроса, тогда ONDOWNLOAD будет ждать дополнительные !TIMEOUT_STEP секунд до остановки с ошибкой -1410: Загрузки не обнаружены.