EVAL — то, чего нам не хватало!
Команда EVAL iMacros позволяет использовать многочисленные возможности JavaScript в работе макроса. Целесообразнотсть применения стоит под вопросом, так как если вы умеете писать на джаваскрипт, то EVAL в iMacros вы будете применять менее чем в 0,001% случаев. Чаще всего к данной команде обращаются когда хотят помочь новичкам, потому что профессионалы могут на JS написать все то, что нельзя реализовать макросом. Также команда может быть использована для анализа и обработки извлеченных данных.
Примеры использования:
- Определить, если дата «старше 40 дней»;
- Сравнить, например, обменный курс выше/ниже определенного значения;
- Сделать небольшие преобразования строки. Извлеченный текст следующий: «US$33.33», можно удалить «US$» и получить только число перед сохранением с помощью SAVEAS TYPE=EXTRACT.
Работает в:
Синтаксис:
SET !VAR1 EVAL("[JavaScript код]") TAG ... CONTENT=EVAL("[JavaScript код]")
Доступен начиная с iMacros V7.5 и более поздних, дополнение iMacros для Firefox 7.4.0.1 и выше.
Параметры:
- Строка в двойных кавычках содержит JavaScript код для выполнения.
- Функция MacroError (errorMsg). Кроме стандартных JavaScript функций (в IE и iMacros Browser, JScript 8.0), команда EVAL имеет встроенную функцию вывода ошибок: MacroError(). MacroError принимает значение в качестве аргумента и, если выдает ошибку и iMacros error -1340, где текст ошибки является аргумент строки errorMsg. Используйте эту функцию, если вы хотите условно остановить макрос, как это делается в примере 3 ниже.
Примечания:
- Необходимо явно вернуть окончательное значение, объявив его в конце JavaScript.
Правильно:SET myVal EVAL("var x = 1; x;") 'myVal = 1
Неправильно:
SET myVal EVAL("var x = 1;") 'myVal = null
- Можно вызвать специальную функцию MacroError (errorMsg) в Javascript, чтобы cгенерировать iMacros ошибку.
- В спец символах нужно дублировать обратный слеш, например, \d правильно записать \\d.
- Двойные кавычки должны быть экранированы, внешние кавычки не экранируются, так как содержат в себе Javascript код.
- EVAL в iMacros Browser и плагине для IE использует Microsoft’s JScript 8.0 JScript .NET, framework version 3.5), есть ограничения безопасности. Как следствие, методы DOM/GUI как «compatMode()» или «alert()» не доступны. Для DOM/GUI доступа можно использовать URL GOTO с Javascript кодом (возможно данная проблема уже исправлена разработчиками).
- iMacros для Firefox’s EVAL использует javascript встроенный в Firefox.
Примеры:
1. Случайное время задержки. Подождать случайно выбранное время (от 1 до 10 секунд), после загрузки страницы:
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;") URL GOTO=http://imacroshelp.ru ' ждать от 1 до 10 секунд WAIT SECONDS={{!VAR1}}
2. Сгенерировать случайное число в определенном диапазона:
SET randomNumber EVAL("var min = 50; var max = 100; var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber;")
3. Получение и сравнение валют. Сохранить результат.
Сохранить EUR-ставку в долларах USD, только если она выше определенного порога (1.3 USD). Если ставка ниже, остановить макрос и выдать сообщение об ошибке:
URL GOTO=http://www.xe.com/ucc/convert/?Amount=1&From=EUR&To=USD SET !EXTRACT_TEST_POPUP NO TAG POS=1 TYPE=TD ATTR=TXT:*<SP>USD&&WIDTH:46%&&ALIGN:left EXTRACT=TXT
SET !VAR1 EVAL("var s = \"{{!EXTRACT}}\"; s.replace(\"USD\",\"\"); var d = parseFloat(s); if(d < 1.3){MacroError(\"Euro меньше 1.3 USD.\");} else {d};") SET !EXTRACT NULL SET !EXTRACT {{!VAR1}} SAVEAS TYPE=EXTRACT FOLDER=* FILE=EuroRate.csv
4. Получение и сравнение даты/времени.
Проверить: последнее сообщение старше нескольких часов (12 часов):
CLEAR URL GOTO=http://www.readwriteweb.com/ SET !EXTRACT_TEST_POPUP NO TAG POS=1 TYPE=DIV ATTR=CLASS:submeta EXTRACT=TXT SET !VAR1 EVAL("var h = 12; var s = \"{{!EXTRACT}}\"; var re = /\\w+\\s\\d{1,2},\\s\\d{4}\\s+\\d{1,2}\\:\\d{2}\\s[A|P]M/; var postDateStr = re.exec(s); var today = new Date(); var postAge = today.getTime() - Date.parse(postDateStr); var hInMilli = h*60*60*1000; if(postAge > hInMilli){MacroError(\"Сообщение старше 12 часов\");}")
5. Получить вчерашнюю дату.
Ввести текст с вчерашней датой в ISO-формате (гггг-мм-дд), месяц меняется, високосный год, и так далее. Для сегодняшней даты можно использовать команду !NOW, но ее не получится преобразовать чтобы получить вчерашнее число, EVAL решает эту проблему:
... CONTENT=EVAL("var d = new Date(); d.setDate(d.getDate() - 1); var year = d.getFullYear(); var month = d.getMonth() + 1; var day = d.getDate(); year + '-' + month + '-' + day;")
6. Получить завтрашнюю дату.
Создайте переменную с завтрашней датой в формате дд/мм/гггг:
SET tomorrow EVAL("var today = new Date(); var tomorrow = new Date(); tomorrow.setDate(today.getDate() + 1); var day = tomorrow.getDate().toString(); if (day.length < 2) {day = \"0\" + day;} var month = (tomorrow.getMonth() + 1).toString(); if (month.length < 2) {month = \"0\" + month;} var year = tomorrow.getFullYear().toString(); var dateString = day + \"/\" + month + \"/\" + year; dateString;") PROMPT {{tomorrow}}
7. Редактировать извлеченный текст.
Преобразование текста в строку верхнего регистра:
VERSION BUILD=7400919 RECORDER=FX TAB T=1 URL GOTO=http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html SET !EXTRACT_TEST_POPUP NO TAG POS=1 TYPE=P ATTR=TXT:Early<SP>this<SP>year,* EXTRACT=TXT SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; s.toUpperCase()") PROMPT {{!VAR1}}
Удалить первые и последние пробелы:
SET !EXTRACT " Эта строка имеет в начале и в конце пробелы " ' Отображается значение в кавычках со всеми пробелами PROMPT {{!EXTRACT}} SET trimmedValue EVAL("\"{{!EXTRACT}}\".replace(/^\\s*|\\s*$/g, \"\");") PROMPT "{{trimmedValue}} - без пробелов!"
8. DemoEval.iim:
URL GOTO=http://www.iopus.com/imacros/demo/v7/eval.htm SET !VAR1 EVAL("Math.floor(Math.random()*5 + 1);") WAIT SECONDS={{!VAR1}} SET !EXTRACT_TEST_POPUP NO TAG POS=1 TYPE=B ATTR=TXT:* EXTRACT=TXT SET !VAR2 EVAL("var h = 20; var s = \"{{!EXTRACT}}\"; var today = new Date(); var postAge = today.getTime() - Date.parse(s); var hInMilli = h*60*60*1000; if(postAge > hInMilli){MacroError(\"Разница во времени более 20 часов\");}else null") SET !EXTRACT NULL TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=NAME:textfield EXTRACT=TXT SET !VAR2 EVAL("var s=\"{{!EXTRACT}}\"; var d = parseFloat(s); if((d > 99)&&(d < 101))d; else MacroError(\"Значение не в заданных пределах\");")
Подскажите пожалуйста почему может не работать код. Должен выводить в случайном порядке в алерт Фиг1, Фиг2, Фиг3, Фиг4
SET !VAR1 Фиг1
SET !VAR2 Фиг2
SET !VAR3 Фиг3
SET !VAR4 Фиг4
SET !VAR0 EVAL("var randomNumber=Math.floor(Math.random()*4 + 1); randomNumber;")
SET !VAR9 {{!VAR{{!VAR0}}}}
prompt {{!var9}}
Здравствуйте, проблема в синтаксисе, а именно в этой строке
SET !VAR9 {{!VAR{{!VAR0}}}}
Так нельзя писать.
Могу предложить в EVAL через цикл считать все данные из !VAR1..4 потом сделать рандом и в !VAR0 записать нужный результат. После можно вывести в PROMPT
Владислав, так предложите )
Желательно в виде кода для IMacros
Пожалуйста
SET !VAR1 'Фиг1'
SET !VAR2 'Фиг2'
SET !VAR3 'Фиг3'
SET !VAR4 'Фиг4'
SET !VAR0 EVAL("var arr = ['{{!VAR1}}', '{{!VAR2}}', '{{!VAR3}}', '{{!VAR4}}']; arr[Math.round((Math.random()*3.49)-0.49)];")
prompt {{!var0}}
Спасибо все работает! =)
Доброго времени суток,
SET !EXTRACT {{!URLCURRENT}}
эта команда извлечет мне урл вместе с цифрам
мне надо оставить только цифры и почерк между ними
пример goll.ru/2555_547 нужно только 25555_547
предложили мне так
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/ll(.*?)/).pop()")
как назвать переменную чтобы потом подставить её?
TAG POS=1 TYPE=SPAN ATTR=ID:like_link-СЮДА ПОДСТАВИТЬ ЦИФРЫ
Здравствуйте, в вашем случае возможны 2 варианта:
1 вариант
SET !EXTRACT {{!URLCURRENT}}
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/ll(.*?)/).pop()")
TAG POS=1 TYPE=SPAN ATTR=ID:like_link-{{!EXTRACT}}
2 вариант
SET !EXTRACT {{!URLCURRENT}}
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/ll(.*?)/).pop()")
SET NUMBER {{!EXTRACT}}
...
TAG POS=1 TYPE=SPAN ATTR=ID:like_link-{{NUMBER}}
В свою очередь хочу предложить вам, на мой взгляд, самый оптимальный вариант
SET NUMBER EVAL("var num = '{{!URLCURRENT}}'; num.replace(/[^\d]*([^]*)/i, '$1')")
TAG POS=1 TYPE=SPAN ATTR=ID:like_link-{{NUMBER}}
Здравствуйте!
Подскажите пожалуста, можно как-то извлечь из определенного места на странице только цифры, минуя текст?
Например: Название товара цена (Сухофрукты: 150р/кг)
Здравствуйте, вот образец.
SET !EXTRACT "Название товара цена (Сухофрукты: 150р/кг)"
SET newValue EVAL("\"{{!EXTRACT}}\".replace(/[^\d]*(\d*)[^]*/g, \"$1\");")
PROMPT {{newValue}}
Здравствуйте. Как можно присвоить уникальный код кнопке, ссылка которой имеет вид ATTR=HREF:javascript:;&&CLASS:gwt-shortcutMenu-iconlink-item?
Это инвайтер в ОК. Пользователи разные, а код ссылки один…
Здравствуйте, простите, но я вас не понимаю. Если вы предложите код кнопки, то скорее всего я смогу вам помочь.
Есть текст:
Задание выполнено! Вы заработали +1.
Вопрос: как оставить только число? (Там может быть любое число). Заранее спасибо
Посмотрите чуть выше в комментариях, там есть пример.
Доброго времени суток.
Допустим,
TAB T=1
FRAME F=0
TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
TAB T=2
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:field1 CONTENT={{!VAR1}}
Подскажите, пожалуйста, как избавиться от пробелов в вставляемом тексте?
например, копируется текст «asdafSGDasx as 125 saafgfg», а мне нужно, чтобы вставлялся «asdafSGDasxas125saafgfg». заранее спасибо.
Здравствуйте, это очень просто) Обратите внимание на 4 строчку.
TAB T=1
FRAME F=0
TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT
SET !VAR1 EVAL("\"{{!EXTRACT}}\".replace(/\s/gi, \"\");")
TAB T=2
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:field1 CONTENT={{!VAR1}}
Здравствуйте. Как сделать чтобы из файла брались рандомные колонки(если правильно выражаюсь)?
Например, есть тхт файл с сожержимым:
«текст1», «текст2», «текст3», «текст4», «текст5», «текст6», «текст7», «текст8» и тд..
И мне необходимо, чтобы в поле ввода на сайте он вставлял только 3 колонки произвольные, но чтобы они не повторялись.
То есть в результате надо чтоб в поле для ввода получилось например: текст1 текст4 текст5. Но при этом, чтобы не получилось так: текст1 текст1 текст1
Здравствуйте. Я не буду писать код, я расскажу вам как это сделать.
1. Для рандома используйте этот код:
Math.floor(Math.random() * (max - min + 1)) + min
2. Для того что бы числа не повторялись.
Создайте массив с индексами элементов, и тот номер, который использовали, удалите:
delete arr[1]; // значение с индексом 1 удалено
Повторяйте пункты выше, и вы добьетесь того чего хотели.
А для онлайн игр помощь осуществляете?)
Да. Единственное, если игра написана на Flash, тогда помочь не смогу. Во всех остальных случаях — пожалуйста)
Как выполнить условие типо если находит опеределенный текст на странице то выполняет один юрл если не находит текст то выполняет другой юрл
Здравствуйте, как можно реализовать вытаскивание текста из в ЛК Билайна?
Внутри текст меняется, но не меняется div-class.
Здравствуйте, для этого вам придется воспользоваться JavaScript. Для iMacros могу предложить следующий код:
window.document.getElementsByClassName('сюда_название_класса').innerHTML
Здравствуйте! Классная статья, жаль что мало примеров показано.
Подскажите, как можно в эту строку
SET !DATASOURCE C:\papka\1.txt
заместо 1.txt подставлять число, начиная с цифры 1 и увеличивающееся на 1 с каждым новым циклом?
Здравствуйте, думаю вам поможет запуск через цикл и код ниже)
SET !DATASOURCE C:\papka\{{!LOOP}}.txt
Здравствуйте есть проблема может ктото подкажет,
Взяли текст с страницы
SET !VAR1 EVAL("'{{!EXTRACT}}'.replace('kod1','{{!COL1}}')")
PROMPT {{!VAR1}}
Здесь текст без кавычек
SET !EXTRACT NULL
SET !EXTRACT {{!VAR1}}
PROMPT {{!VAR1}}
Здесь текст без кавычек
SAVEAS TYPE=EXTRACT FOLDER=C:\5 FILE={{!COL1}}.txt
При сохранении в файл каждая строка в кавычках «вот так»
Здравствуйте, это не баг, это фича) То есть это нормальная работа iMacros.
Как избавится от «чужеродных кавычек», просто там еще есть и свои в тексте нужные, и реплейс не подходит
Я способа не знаю, мне всегда было удобно и так работать. В любом случае, лучшим решением вижу использовать реплэйс, замените кавычки на %^%. Если надо, вы сможете в любом текстовом редакторе заменить %^% на кавычки. То же самое и в макросе, перед тем как вставить текст можно его обработать реплэйсом.
проблема в том что он до того как сохраняется без кавычек, в процессе появляются
если
SAVEAS TYPE=EXTRACT FOLDER=C:\5 FILE={{!COL1}}.txt
заменить на SAVEAS TYPE=TXT то сохраняеться все ок, но без верхнего реплейса
Вы читали про команду SAVEAS? То что вы указываете TYPE=TXT оно не сохранит выборочные данные. Правильно только TYPE=EXTRACT. А то что добавляются кавычки, так и должно быть, потому что в одну строку можно сохранить несколько колонок данных. По сути на выходе получается таблица данных, типа Excel.
Спасибо, ок будем заменять в Notepad++.
Пожалуйста, надеюсь что помог вам хоть немного)
Помогли!я бы еще до завтра бился чтобы найти причину, еще рас спасибо
Здравствуйте. подскажите пожалуйста, можно как-нибудь с помощью данного макроса сделать перенаправление с одного сайта на другой.
К примеру пользователь набрал в адресной строке vk.com, макрос проверил. и если условие верно, то перенаправил на сайт yandex.ru?
Здравствуйте, для этого понадобятся знания JavaScript.
window.location.href
Может передать скрипту текущий URL, так же через этот код можно произвести редирект.
macro = "SET !VAR0 EVAL('var randomNumber=Math.floor(Math.random()*3 + 1); randomNumber;')"
macro += "WAIT SECONDS={{!VAR0}}"
macro += "PROMPT {{!VAR0}}"
iimPlay(macro);
задержку не дает
как сделать правильно?
Смотря на этот код, вижу «такой велосипед»: вы в JavaScript вызываете функцию макроса, для обработки макроса, в котором работаете с JS. Все намного проще)
var randomNumber = Math.floor(Math.random()*3 + 1);
iimPlayCode('WAIT SECONDS=' + randomNumber);
Приветствую, можно при помощи команды EVAL сделать проверку на сайте. Например, после входа на сайт макрос ищет определенное слово на сайте, если находит, выполняется одна часть макроса, если не находит, другая. Спасибо за ранее!
Здравствуйте, скорее всего при помощи бубна это можно сделать. Но нужно ли? На много проще писать алгоритмы на JavaScript.
Добрый день! Такой вопрос. Есть Опенкарт. Нужно Англия поменять на Великобритания. Проблема в том, что поле Страна может находится на разных позициях. Можно как-то поменять текст?? Заранее благодарен.
http://joxi.ru/zANpEejhlWEQdm
Здравствуйте, вы упомянули о том, что могут быть разные позиции, поэтому нужно использовать JavaScript для программирования работы скрипта.
Если нужно просто заменить Англия -> Великобритания, можно использовать метод replace в js скрипте.
Как в аймакросе задать переход на следующую строку таблицы (игра-государство-перечень игроков гос-ва). нужно чтобы после выполнения действий по одному игроку макрос переходил к следующему игроку ниже в таблице. и так скажем в цикле 20-30 раз/ смотря сколько игроков в государстве
Нужно применять циклы. Почитайте про LOOP. Игру эту я не знаю, поэтому как пример могу показать этот код:
TAG POS={{!LOOP}} TYPE=BUTTON ATTR=CLASS:user
Здравствуйте, я хотел бы узнать, есть ли возможность организовать через функционал imacros скрипт с условными операторами, к примеру, тот же условный оператор «Если» «Или» «Иначе» и т. п. ???
Очень надеюсь на ваш ответ.
Глупая гугляндия реально издевается
Здравствуйте, команда EVAL позволяет использовать весь функционал JavaScript внутри макросов. Что касаемо вашего вопроса, то рекомендую начать писать скрипты для iMacros на JS.
Вопрос немного не корректный, так как «Если» и «Иначе» это JS конструкция «if(){}else{};», а «Или» это оператор «||» который может применяться внутри if.
Вот JavaScript используемый в 9 строке, 8-го примера:
есть строки такого вида 111x222x333мм, как заставить выносить group 1, 2, 3 по отдельности?? то есть в данном случае должно быть $1 = 111 $2 = 222 $3 = 333
SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; x=x.match(/\s*(\d+)\s*[xх]\s*(\d+)\s*[xх]\s*(\d+).*/g,\"\");")
получилось сделать так, работает ка задумано ))
SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; x=x.replace(/\s*(\d+)\s*[xх]\s*(\d+)\s*[xх]\s*(\d+).*/g,\"$1\");")
Чтобы окончательно понять, можно как то в краткой форме дальше указать что
VAR2 = $2
VAR3 = $3
чтобы не копировать то что в VAR1 постоянно
Уже разобрался ))
SET !VAR0 EVAL("var x='{{!EXTRACT}}'; x=x.replace(/\D*(\d+)\D*(\d+)\D*(\d+).*/g,\"$1|$2|$3\");")
SET !VAR1 EVAL("var xx = '{{!VAR0}}'.split('|'); xx[0];")
SET !VAR2 EVAL("var xx = '{{!VAR0}}'.split('|'); xx[1];")
SET !VAR3 EVAL("var xx = '{{!VAR0}}'.split('|'); xx[2];")
Думаю лучше 3 раза написать первую команду для !VAR1..3, мне кажется так правильнее было бы.
но тогда получится что 3 раза обрабатывается одна и та-же строка, а так она один раз обработалась результаты занеслись в var0 и потом только делим ее на отдельные вары. С точки зрения производительности это должно быть быстрее.
Ок, смотрите сами, я сказал как бы я это сделал, ваш вариант тоже может быть. По скорости выполнения заметных различий тут нету.
Доброго времени суток! Спасибо вам, что помогаете как можете новичкам! Надеюсь, что сможете уделить минутку)
Есть допустим пост, шаблон которого «блаблабла бла блабла — ссылка.ру». Нужно спарсить пост без ссылки. Как можно это провернуть?
HTML таков :
Блаблалалабла - http://gooogle.coom
Macros:
TAG POS=1 TYPE=DIV ATTR=class:wall_post_text EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.replace(/.*href=\"(.*)\".*/, '$1').trim();")
Здравствуйте, замените свое регулярное выражение на это:
/([^]*)[^]{3}http:\/\/[^]*/
Спасибо за ответ! Вы чудо!)
Еще один вопросик: как можно поставить условие — если не найдется кнопка/ссылка или слово, то не продолжать скрипт, а перейти к следующему циклу
Если появляются такие вопросы, это значит, что пора переходить на JavaScript. Поскольку, макрос — только повторение действий, да, изловчившись функционал можно расширить. Но зачем топором резать хлеб, когда для этого есть нож))
Здравствуйте! Подскажите, как изменить строку в EXTRACT, чтобы все small заменялись на big? Вроде просто, но никак не въеду в синтаксис eval. Заранее спасибо за ответ
Артем, здравствуйте. Это не синтаксис EVAL, это регулярные выражения.
Владислав, спасибо. Подскажите ещё, как указать абзац для замены? Чтоб именно строка ушла, изменилась, скажем, на пробел
Простите, но я не понимаю чего вы хотите, приведите пример какой нибудь, тогда может смогу помочь.
здравствуйте.
TAG POS=1 TYPE=TEXTAREA FORM=ID:contactform ATTR=NAME:message CONTENT=случайнаястрокаизфайлаTXT
как вставить случайную строку из txt файла?
Здравствуйте. Вначале нужно получить рандомное число, пример есть в статье WAIT — временная задержка, затем подставьте полученное значение в переменную !DATASOURCE_LINE. Вот и все.
Как изменить изображение при сохранении такой командой
ONDOWNLOAD FOLDER=C:IMG1 FILE=img1.jpg
TAG POS=1 TYPE=IMG ATTR=SRC:адрес картинки что сохраняем CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
Допустим сохраняемое изображение 1024х780 но мне надо его сохранить с размером 400х300 можно ли это как то сделать?
Боюсь что средствами iMacros этот вопрос решить не получится, но никто не мешает пропустить картинку через какой-нибудь онлайн редактор изображений.
хреново нет примера что прописать, находит элемент x, если находит то выполянет…
если не находит то дальше продолжает цикл
Вам пора рассматривать вариант использования js в своей работе.
Здравствуйте проходя по страничке вк копирую адреса ссылок в папку , когда вывожу в конце содержимое на экран , все ссылки записаны построчно в кавычках.И соответственно беру из файла в кавычках. Можно ли как то брать из файла без кавычек? Вы писали про команду EVAL с применением Java. Подскажите пожалуйста как это можно реализовать.
SET !REPLAYSPEED SLOW
TAB T=1
URL GOTO=https://vk.com/id469530535
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=filename.txt
TAG POS=1 TYPE=SPAN ATTR=TXT:Новости
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=filename.txt
TAG POS=2 TYPE=SPAN ATTR=TXT:Сообщения
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=filename.txt
TAG POS=2 TYPE=SPAN ATTR=TXT:Друзья
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=filename.txt
TAG POS=2 TYPE=SPAN ATTR=TXT:Группы
TAB OPEN
TAB T=2
URL GOTO=https://www.youtube.com/?gl=UA&hl=ru
TAB OPEN
TAB T=3
URL GOTO=file:///C:/Users/Denis/Documents/iMacros/Downloads/filename.txt
TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT
Здравствуйте, вот пример кода, который обрезает все двойные кавычки в строке:
SET !EXTRACT "строка"
SET !VAR1 EVAL("var s = \"{{!EXTRACT}}\"; s.replace(\"\\\"\",\"\");")
Добрый день!
помогите пожалуйста написать скрипт:
1 найти текст1
2Если его нет на первой странице,искать на стр 2 и тд
новый любитель iMacros)автор забросил свой сайт. но мысль как искать есть , через перебор по списку сайтов установить поиск.
а если поточнее?как именно прописать эту команду»если»
Здравствуйте, есть варианты при которых то что вы хотите можно реализовать на чистом iMacros. Однако если использовать JS для написания, то скрипт будет работать при любых условиях
Как сделать чтобы выполнение макроса не прерывалось ошибкой:
«Error -1300: Cannot find HTML element of type «A:» with attribute(s) «TXT:Назначить всем лечение».. Line 8: TAG POS=1 TYPE=A ATTR=TXT:Назначитьвсемлечение»,
а выполнялась следующая строка? Чтобы циклично, через 310 секунд проверялись, и если есть выполнялись, последовательность действий?
VERSION BUILD=9012597
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://xospital.mobi/AutoPark?t=636720502773990414
TAG POS=1 TYPE=A ATTR=TXT:Обновить
TAG POS=1 TYPE=A ATTR=TXT:Заправитьвсе
TAG POS=1 TYPE=A ATTR=TXT:Подсказатьмаршрут
TAG POS=1 TYPE=A ATTR=TXT:Назначитьвсемлечение
TAG POS=1 TYPE=A ATTR=TXT:Помытьвсемашины
TAG POS=1 TYPE=A ATTR=TXT:Отправитьвсехнавызовыпособытию
WAIT SECONDS=310
TAG POS=1 TYPE=A ATTR=TXT:Обновить
Используйте переменную !ERRORIGNORE, которая описана на сайте.
Здравствуйте, не плохой урок! Подскажите пожалуйста, можно ли чисто в iMacros условием сделать ошибку в определённой строке, и в случае ошибки, перескок на другую строку? Допустим если ошибка в строке 5, то пропуск 3 строк и перескок сразу на строку 8…
Здравствуйте, боюсь что не получится. Нужно воспользоваться JavaScript