Переменная iMacros !ERRORIGNORE
Если переменная !ERRORIGNORE установлена со значением YES, тогда iMacros будет игнорировать возникающие ошибки. Макрос продолжает выполняться, даже если одна или несколько команд не были выполнены. Принимаемые значения: YES | NO.
Совет: Эту переменную можно использовать для того, чтобы iMacros пропускал несуществующие элементы страницы (TAG), с ее помощью можно сократить время ожидания невидимого / несуществующего на странице TAG элемента , обработка которого записана в макросе. По умолчанию 6 секунд. Чтобы изменить время ожидания, используйте !TIMEOUT_STEP.
Синтаксис:
SET !ERRORIGNORE YES
Задается:
× Внутренняя переменная
✓ Командой SET
«Внутренняя переменная» означает, что сам iMacros устанавливает значение данной переменной во время выполнения макроса. SET означает, что пользователь может установить это значение с помощью команды SET при редактировании макроса.
Пример:
Использование переменной !ERRORIGNORE iMacros для пропуска ошибок в части кода:
SET !TIMEOUT_STEP 1 SET !ERRORIGNORE YES ‘Команды которые иногда не работают (элементы не найдены)
TAG… TAG… ‘Возвращаем значения по умолчанию
SET !ERRORIGNORE NO SET !TIMEOUT_STEP 6
Tells iMacros to ignore errors. The replay of macros continues even if one or more commands fail.
Value

YES|NO
Set By
[ ] Internal
[X] SET
Internal means that the iMacros program itself sets the value of the variable during program run. SET means that the user can set this value via the SET command inside a macro.
Tip: If you use this command to skip not-existing (only sometimes existing) web page elements (TAG), then it can be useful to reduce the default time iMacros waits for a missing TAG to appear (6 seconds). Use the !TIMEOUT_STEP paramter for this.
Note: SET !ERRORIGNORE YES does not yet ignore the EVAL command error in iMacros for Firefox 10 (as it is in iMacros Browser).
Examples
SET !TIMEOUT_STEP 1 SET !ERRORIGNORE YES 'Commands that fail sometimes (element missing) TAG... TAG... 'Restore defaults SET !ERRORIGNORE NO SET !TIMEOUT_STEP 6
- «OR» function for buttons?
- Use one of two links (depending on which one is there)
- Ignore the error and keep runing code
See Also
Error Handling, !TIMEOUT_STEP
I have 1000+ URLs that I want to scrape to retrieve the title value from the HTML. After trying different things, I ultimately used iMacros scripts, which I don’t know anything about. Nonetheless, I managed to make a script after reading guides.
My script is working perfectly but has a problem: When leeching URLs titles, if it encounters an HTTP error (e.g. dead link, forbidden page, etc), it crashes with an error message like this one:
Error -1350: Error loading page. Http status 403. Line 4: URL GOTO=http://url.com
Instead of crashing when the script encounters these errors, I would like it to simply skip the URL and continue running. How can I modify my script to do this? Here is my script:
VERSION BUILD=9002379
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://google.com/
ADD !EXTRACT {{!URLCURRENT}}
TAG POS=1 TYPE=TITLE ATTR=* EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=d:/ FILE=links.txt
SET !EXTRACT_TEST_POPUP NO
Output:
http://google.com/,Google
I would also like to replace the comma after the URL in the output with a semicolon.
Содержание:
!CLIPBOARD
!ERRORIGNORE
!EXTRACT
!NOW
!REPLAYSPEED
!TIMEOUT
!VAR1, !VAR2, !VAR3
!CLIPBOARD
Внутренняя переменная !CLIPBOARD содержит значение из буфера обмена.
Пример:
как в макросе прописать вставку в поле ввода данных из буфера обмена?
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:formuzd ATTR=ID:zd_name CONTENT={{!CLIPBOARD}}
!ERRORIGNORE
Внутренняя переменная imacros -игнорирование ошибок,
принимает значения: YES|NO (по умолчанию NO ).
!ERRORIGNORE отвечает за игнор ошибок скрипта, даже если одна или несколько команд не выполнены и передали ошибку, imacros продолжит выполнение скрипта.
Пример:
SET !ERRORIGNORE YES ошибки игнорируются.
SET !ERRORIGNORE NO ошибки не игнорируются, после ошибки выполнение скрипта прекращается.
Пример:
VERSION BUILD=7031111 RECORDER=FX
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
TAB T=1
TAB CLOSEALLOTHERS
!EXTRACT
Внутренняя переменная !EXTRACT позволяет извлечь данные из страницы с возможностью математических операций сложения или вычитания с этими данными с помощью команды ADD.
Пример:
TAG POS=3 TYPE=B ATTR=TXT:* EXTRACT=TXT — извлекаем данные,
ADD !EXTRACT {{!COL1}} — добавляем данные из переменной !COL1,
SET !EXTRACT NULL — обнуляем переменную.
!NOW
Внутренняя переменная содержит текущее время и дату. Для того, чтобы отформатировать даты и времени вы можете использовать следующие коды формата, которые нужно добавить к переменной после двоеточия
!NOW:yyyy-mm-dd<SP>hhh<SP>nnmin
Формат кода
Формат кодов чувствительны к регистру. Формат кода может включать пробелы, но не забудьте использовать <SP> для пробелов
dd — Показывает день 2-значное число (01 — 31).
mm — Отображение месяца в виде 2-значное число (01 — 12).
yy — Показывает год, как 2-значное число (00 — 99).
yyyy — Показывает год, как 4-значное число (100 — 9666).
hh — Отображает час в виде 2-значное число (00 — 23).
nn — Отображение минут в виде 2-значное число (00 — 59).
ss — Отображает секунды в виде 2-значный номер (00 — 59).
Пример:
VERSION BUILD=7361445
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://www.amazon.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:site-search ATTR=ID:twotabsearchtextbox CONTENT=»!NOW:yyyy/mm/dd_hhnn test»
!REPLAYSPEED
Внутренняя переменная !REPLAYSPEED устанавливает скорость воспроизведения макроса быстрой, средней или медленной. Быстрая скорость воспроизведения означает, что нет задержки между каждым шагом. Средняя добавляет задержки в 1 секунду, а медленная в 2 секунды между каждой командой. Эта переменная отменяет глобальную скорость воспроизведения установленную в настройках.
Значения переменной — FAST|MEDIUM|SLOW
Пример:
SET !REPLAYSPEED FAST
!TIMEOUT
Внутренняя переменная !TIMEOUT устанавливает значение таймаута в секундах. Если в заданный промежуток времени действие не выполнено, !TIMEOUT сообщит об ошибке, выполнение скрипта завершиться! По умолчанию в imacros задан таймаут 60 секунд. Значение переменной !TIMEOUT автоматически устанавливает значение переменной !LOADCHECK = 1/10 !TIMEOUT.
Значением переменной может быть любое целое число >0
Пример:
SET !TIMEOUT 100
!VAR1, !VAR2, !VAR3
Все внутренние переменные в imacros имеют префикс «!».
!VAR1, !VAR2, !VAR3 это внутренние переменные для произвольного использования, им можно присвоить как числовое так и строчное значение.
Чтобы установить значение переменной необходимо использовать команду SET:
SET !VAR1 154
Для использования значения переменной, заключите её в двойные фигурные скобки: VAR1
Пример:
SET !VAR1 2012
SET !VAR2 New<SP>Year
ADD !VAR2 !VAR1
Итог: New Year 2012
Пример:
SET !VAR1 {{VAR2}}
А так же существует команда сложения ADD, она добавляет значение переменной. Вы также можете вычесть значения путем добавления отрицательное значения переменной. Если по крайней мере одна из переменных содержит не целое число, значения объединяются в виде строчной переменной.
SET !VAR1 49 ‘задаем значение переменной равное 49
ADD !VAR1 2 ‘прибавляем значению переменной 2, т.е. 49+2=51
Оба значения являются числовыми поэтому результат также числовой:
SET !VAR1 100
ADD !VAR1 -20
=> В результате переменная !VAR1 содержит 80.
По крайней мере, одно из значений является строкой поэтому результатом также является строка:
SET !VAR1 Hello
ADD !VAR1 <SP>World<SP>
ADD !VAR1 2011
=> В результате переменная !VAR1 содержит Hello World 2011
Присвоить переменной VAR1 текущее время
SET !VAR1 {{!NOW:hh:nn:ss}}
Одна из самых важных команд в аймакрос, в 70% случаев решает проблемы с макросами у новичков.Разумеется это Команда игнорирования ошибок.
SET !ERRORIGNORE YES|NO
Команда принимает два возможных значения это YES и NO, соответственно либо при наличии ошибок они игнорируются либо нет и макрос останавливается.
- 20 апреля 2015
- Комментариев нет



