Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
Суть моей проблемы такова.
1. В макросе имеются пару строчек кода который надо циклически повторять n кол-во раз (возможность указывать число повторов)
если быть наглядным то эти строчки:
TAG POS=1 TYPE=BUTTON ATTR=TXT:Заполнено TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:question_answer ATTR=NAME:commit&&VALUE:Далее
А именно:
Если imacros на странице не находит "Заполнено", или "Далее", то открывает след вкладку и продолжает работу.
Если imacros на странице НАходит "Заполнено", или "Далее", то выполняет такой код n кол-во раз:
TAG POS=1 TYPE=BUTTON ATTR=TXT:Заполнено TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:question_answer ATTR=NAME:commit&&VALUE:Далее
Отсутствует
gs517
var i; for (i=1;i<=9;i++){ errCode=iimPlay("CODE:TAG POS=1 TYPE=IMG ATTR=SRC:img/4.png EXTRACT=HREF"); av4=iimGetLastExtract(); if (av4 == '/img/4.png' ) { iimPlay("Macros/P1.iim",60); } else{ iimPlay("Macros/P4.iim",60); } }
Добавлено 18-12-2012 17:35:02
browner
вместо 12345 ставь * т.е. item)* , должно помочь. Но смотри что первое совподение это будет POS1, а второе POS2 и т.д.
для буфера используеться команда EXTRACT
Отредактировано spy686 (18-12-2012 17:35:02)
Удалено
Отсутствует
А можно ли сделать цикл внутри цикла. К примеру вот так:
var i; for (i=1;i<=2;i++){ iimSet("LINE",i); iimPlay("main.iim",60); var i; for (i=1;i<=5;i++){ iimSet("LINE",i); iimPlay("root.iim",60); } }
Отсутствует
[вместо 12345 ставь * т.е. item)* , должно помочь. Но смотри что первое совподение это будет POS1, а второе POS2 и т.д.
для буфера используеться команда EXTRACT
вот как я написал:
TAG POS=1 TYPE=INPUT ATTR=NAME:item)* EXTRACT=TXT
выдаёт: Extracted text: #EANF#
если сделать так:
TAG POS=1 TYPE=INPUT ATTR=NAME:item)* EXTRACT=TXT
выдаёт: Extracted text: #EANF#
если написать так:
TAG POS=1 TYPE=INPUT ATTR=NAME:* EXTRACT=TXT
выдаёт: Set1
то есть берёт значение value, а не name
почему так ?
как получить значение name ?
Отсутствует
browner
а ты посмотри откуда он берет txt, на странице эта область должна обводить синим. или пробуй другое писать, например для извлечения ссылка пишут EXTRACT=HREF
Удалено
Отсутствует
доброго времени,не знаю может повторяюсь,подскажите как можно очищать при работе imacros кеш,всмысле что-бы куки не затрагивал как при команде CLEAR
Отсутствует
Всем добрый день, может быть кто подскажет как регуляркой вытащить из этого кода
<html> <head></head> <body> <table> <tbody> <tr> <td>0</td> <td>68490850</td> <td>114886</td> <td>0</td> <td>0</td> <td>VATLTS</td> </tr> </tbody> </table> </body> </html>
Только если можно, без кода
TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
глючный он....именно регуляркой JS кто-нибудь сможет помочь вытащить?
Написал кусок кода, помогите закончить, нужно чтобы было только значение VATLTS
reg = new RegExp('(<td>0</td><td>)'+'......'+'(</td>)','gim'); a = window.content.document.body.innerHTML; S = (a.match(reg)); alert (S)
Два дня думал, голову ломал....в итоге вот это сделал...изврат конечно полный, но умнее ничего не придумал, может кто подскажет как было иначе, но сделал так:
reg = new RegExp('0</td><td>'+('......')+'</td>','gim'); a = window.content.document.body.innerHTML; s = (a.match(reg,'$1')); // window.content.document.body.innerHTML=(s) reg1 = new RegExp('0......') a1 = window.content.document.body.innerHTML s1 = (a1.match(reg1,'$1')) window.content.document.body.innerHTML=(s1) // reg2 = new RegExp('0(......)') a2 = window.content.document.body.innerHTML result = (a2.replace(reg2,'$1')) window.content.document.body.innerHTML=(result) alert (result)
Отредактировано lostandleft1 (31-12-2012 01:56:25)
Отсутствует
скрытый текстВыделить кодКод:
var i; for (i=1;i<=2;i++){ iimSet("LINE",i); iimPlay("main.iim",60); var i; for (i=1;i<=5;i++){ iimSet("LINE",i); iimPlay("root.iim",60); } }
а по отделности все это работает?
iimSet("LINE",i); - например
Вы чего сделать то хотите?
Посмотрите мои примеры выше, там есть работа с циклами.
Вложить один цикл в другой можно...но по Вашему коду не совсем понятно чего вы добиться хотите
Отредактировано lostandleft1 (29-12-2012 20:12:14)
Отсутствует
Добавлено 01-01-2013 20:52:22
Люди еще вопрос возник.
Назрела необходимость использовать большое количество Прокси при работе с одним сайтиком, IPшник банят засранцы.
Нашел в сети скрипт по работе с прокси, думаю многим будет полезен поэтому выклядываю тут:
Прокси само собой может быть уже и не рабочий, подставьте в код тот, что работает, если нужно.
var a = 1 while (a==1) { iimPlay("code: PROXY ADDRESS=109.74.145.56:8080\n URL GOTO=http://2ip.ru\n WAIT SECONDS=5"); a=1}
Отредактировано lostandleft1 (02-01-2013 01:00:42)
Отсутствует
Привет, а чем конструкция типа
скрытый текст
Не устраивает?
Вбей свою ссылку, которая нужна и делов то
Нужно что б после неких дел возвращался на предыдущую страницу, нет просто другого варианта реализовать
Отсутствует
Нужно что б после неких делов возвращался на предыдущую страницу, нет просто друго варианта реализовать
Как через внутреннюю команду назад вернуться - написали, мне больше через JS нравится реализация, выбирай что больше нравится:
или
Где -1 - это количество страниц, которые назад отмотать нужно.
Только через фаил JS сделай, его также в imacros запускать можно.
Удачи.
Отредактировано lostandleft1 (01-01-2013 23:51:05)
Отсутствует
Огромное спасибо за форум очень много полезностей!
Помогите плиз реализовать такое:
1 Есть страница, на ней список улов, нужно зайти на первый и произвести в нем действия
2 Потом вернуться назад на исходную страницу
3 Зайти на второй урл и произвести те же действия
Вся сложность в том, что если записываю действия макросом, он воспроизводит те урлы которые записал, а надо вроде как случайные
если есть скрипт к которому можно привязать, скиньте плиз.
альпинист
Отсутствует
Спасиб! Буду искать, хотя думаю можно наверно реализовать через скрипт перехода по случайной ссылке, попробую еще и в эту сторону покопать
альпинист
Отсутствует
Ребята мою задачку с Проксей никто порешать не в состоянии?
Ок, а если я видоизменю немного задачку, сможете подсказать?
Допустим есть переменная PROXY - это массив состоящий из списка прокси серверов.
обозначим так:
var PROXY = ['129.98.216.135:80', '130.14.29.110:80', '130.14.29.111:80', '130.14.29.120:80', '174.142.125.161:80']
While (a == 'TryNextProxy') { try { iimPlay ("code: SET !TIMEOUT 2\n PROXY ADDRESS=129.98.216.135:80\n URL GOTO=http://www.yandex.st/www/1.415/yaru/i/logo.png") } Catch (e) { If (e) { a = 'TryNextProxy'} else {a = 'GoodProxy'} } alert (a) }
Отредактировано lostandleft1 (05-01-2013 08:40:17)
Отсутствует
lostandleft1
Вот такой код для отправки сообщений из тестового файла:
var i; for (i=1;1<=27;i++){ var randomNumber=Math.random()*(600-7200)+7200; errCode=iimPlay("CODE:URL GOTO=https://ner.com/intent/ner"); errCode=iimPlay("CODE:SET !EXTRACT_TEST_POPUP NO\nSET !DATASOURCE ner.txt\nSET !DATASOURCE_COLUMNS 103\nSET !LOOP 1\nSET !DATASOURCE_LINE {{!LOOP}}\nSET !ERRORIGNORE YES\nSET !ERRORCONTINUE YES\nTAG POS=1 TYPE=TEXTAREA FORM=ACTION:/intent/ner/update ATTR=ID:status CONTENT={{!COL1}}\nWAIT SECONDS=3\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:update-form ATTR=VALUE:ОТПРАВИТЬ"); errCode=iimPlay("CODE:WAIT SECONDS=3"); errCode=iimPlay("CODE:URL GOTO=http://04.for_autoner/Del_ner.php"); errCode=iimPlay("CODE:WAIT SECONDS=" + randomNumber + " "); }
<? //считали в массив $f = file('ner.txt'); //сохранили и убрали верхнюю строку $a = array_shift($f); //сохранили что осталось в файл $file = fopen("ner.txt","w+"); fputs($file, implode('',$f)); fclose($file);
Удалено
Отсутствует
ОЗАДАЧИЛСЯ как прописать в самом скрипте макроса кол-во циклов к выполнению.
for (i=1;i<=27;i++)
i=1 - с чего счет начинаеться
i<=27 - условие при котором будет выполняться
i++ - после каждого цикла к i будет прибовляться 1
если поставить i<=27, то цикл будет выполняться 27 раз, т.е. процесс такой -
первый цикл 1, 1<27, 1+1=2
второй цикл 2, 2<27, 2+1=3
третий 3, 3<27, 3+1=4
.
.
.
27 цикл 27, 27<27 (!НЕВЕРНО!), СТОП
если поставить 1<=27, т.е. условие всегда верно, то цикл будет безконечен
Удалено
Отсутствует
spy686
Ненавижу этот плагин за его глючность, ничего более глючного и нестабильного в жизни не встречал...почти решил задачу с проксями обрадовался не на шутку...и хрен там в общем есть такой код, который работает крайне странно, если не сказать больше:
Предположительно в следующем скрипте должно выполнятся правило:
Берем прокси сервер, идем на 2ip.ru проверяем IP адрес, если сервер мертвый (т.е. если страница вообще не открывается), должна возникать внутренняя ошибка Imacrosa и в этом случае должно появится сообщение Идем на Iopus, после чего опять идем на 2ip.ru. При этом проверяем, не возникнет ли внутренних ошибок JS и если их не возникнит выводим сообщение что все нормально.
Если у кого-то получится это сделать, считайте что вы уникальны. Я пытался запустить этот скрипт на разных версиях FF и даже на PaleMoon...не работает.
Мало того, что я ни разу не видел сообщение Нормуль или Ошибка, так кроме того, команда PROXY которую я привожу тут....ДЕЙСТВУЕТ ТОЛКО ВНУТРИ IIM Команды...удивительно, когда после выполнения переменной Pr все настройки прокси сбрасываются и делов то...так что получается полная жо..желание деинсталировать этот плагин и начать изучение AutoIt например....
Один из проксей живой 100500%
var PROXY = ['129.98.216.135:80', '174.142.125.1:80', '1.1.125.1:80', '130.14.29.111:80', '130.14.29.120:80', '174.142.125.161:80', '174.142.125.1:80', '109.74.145.56:8080']; for(var i = 0; i < PROXY.length; i++) { var Pr2 = PROXY[i]; var Pr3 = new String ('code: CLEAR\n SET !TIMEOUT 15\n PROXY ADDRESS='); var Pr4 = new String ('\n URL GOTO=http://2ip.ru/'); var Pr = Pr3 + Pr2 + Pr4; try { var go = iimPlay (Pr); if (go!=1) { alert ("Иду на Iopus"); window.content.document.location = 'http://www.iopus.com'; iimPlay('code: wait seconds = 3'); window.content.document.location = 'http://2ip.ru/' alert ("Цикл Кончился"); } } catch (e) { if (e) {alert ("ошибка")} else {alert ("нормуль")} } }
Good to know, thanks for trying!
Так вот Первую часть проблемы мне решить удалось, оказывается ссылки типа:
URL GOTO=http://2ip.ru/
Использовать не рекомендуется в работе с прокси...и ответа разрабы не дают....эм......в общем ответ я нашел сам на помощь команды JS приходят.
В коде выше вместо станадартной строки в цикле FOR нужно прописать:
URL GOTO=javascript:window.content.document.location="http://2ip.ru/"
Таким образом чтобы относительно беспроблемно запускать в JS код из интерфейса Imacros....как в случае с ПРОКСИ, (сделать это иначе просто не получается, потому что после выполнения iim соманды/файла, значения Прокси сбрасываются, и ставятся те что были в браузере ранее, до запуска скрипта.
В итоге получается изварат, что из скрипта JS мы запускаем команду Imacros которая выполняется средствами JS опять же....большего извращения не видел
Сижу ломаю голову как все-таки реализовать перебор проксей...ибо все написанное выше....геморрой полный, прокси действует только внутри переменной Pr
Желания 5 страниц кода вписывать в эту переменную нет ну никакого....извращение, хуже некуда.
Резюме, код выше - работает частично условие Try не обрабатывается цикл For не отрабатывается.
Поправьте если я делаю что-то не так.
Отредактировано lostandleft1 (06-01-2013 17:43:57)
Отсутствует
spy686
как я понял это нужно явой вызывать скрипты *.imm , подскажите дилетанту мож есть общий пример на яве, что б по примеру сделать ??
За помощь биг спасибо !
Отсутствует
подскажите дилетанту мож есть общий пример на яве, что б по примеру сделать ??
ну на счет того вызывать ли .imm или код Imacros вшивать в JS это свое усмотрение, есть ситуации разные, бывает что проще вшить в JS, а есть что лучше вызвать .imm.
если вшить в JS то я делаю это так:
var i; for (i=1;i<=27;i++){ var randomNumber=Math.random()*(600-7200)+7200; errCode=iimPlay("CODE:URL GOTO=https://ner.com/intent/ner"); errCode=iimPlay("CODE:SET !EXTRACT_TEST_POPUP NO\nSET !DATASOURCE ner.txt\nSET !DATASOURCE_COLUMNS 103\nSET !LOOP 1\nSET !DATASOURCE_LINE {{!LOOP}}\nSET !ERRORIGNORE YES\nSET !ERRORCONTINUE YES\nTAG POS=1 TYPE=TEXTAREA FORM=ACTION:/intent/ner/update ATTR=ID:status CONTENT={{!COL1}}\nWAIT SECONDS=3\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:update-form ATTR=VALUE:ОТПРАВИТЬ"); errCode=iimPlay("CODE:WAIT SECONDS=3"); errCode=iimPlay("CODE:URL GOTO=http://04.for_autoner/Del_ner.php"); errCode=iimPlay("CODE:WAIT SECONDS=" + randomNumber + " "); }
errCode=iimPlay("CODE:URL GOTO=http://getup.ru/"); errCode=iimPlay("CODE:WAIT SECONDS=10"); errCode=iimPlay("CODE:TAG POS=2 TYPE=IMG ATTR=SRC:http://getup.ru/img/Log.gif"); errCode=iimPlay("CODE:WAIT SECONDS=10"); var i; for (i=1;2<=9;i++){ errCode=iimPlay("CODE:URL GOTO=http://getup.ru/"); errCode=iimPlay("CODE:WAIT SECONDS=3"); errCode=iimPlay("CODE:TAG POS=1 TYPE=IMG ATTR=SRC:*img/1.png EXTRACT=HREF"); av1=iimGetLastExtract(); if (av1 == 'http://getup.ru/img/1.png' ) { iimPlay("getup.ru/P1.iim",60); } }
Удалено
Отсутствует
В общем опять отвечаю сам себе, вот реально рабоющий пример работы с прокси, вроде как все делает так, как мне нужно, а нужно следующее:
Скрипт перебирает проксики по порядку, путем захода на сайт 2ip.ru и поиска фразы "Имя вашего компьютера" (парсить страничку лень, поэтому проверка сайта такая простая) и если находит тот прокси, что работает, то сообщает об этом радостным сообщением, если же прокси не находит, то переходит к следующему в списке, и так пока список проксей не кончится. Потом все те, что работают выводит в отдельный Alert
Пожалуйста пользуйтесь те, кому это может понадобиться. Только Если прокси повторяются, их придется в экселе вручную поубирать, если есть желание регулярку напишите, мне и так сойдет.
var PROXY = ['129.98.216.135:80', '109.74.145.56:8080', '1.1.125.1:80', '130.14.29.111:80', '130.14.29.120:80', '174.142.125.161:80', '174.142.125.1:80', '109.74.145.56:8080']; var GoodPrx = []; for(var i = 0; i < PROXY.length; i++) { var Pr2 = PROXY[i]; var Pr3 = new String ('code: CLEAR\n SET !TIMEOUT 15\n PROXY ADDRESS='); var Pr4 = new String ('\n URL GOTO=javascript:window.content.document.location="http://2ip.ru/"'); var Pr = Pr3 + Pr2 + Pr4; try { var go = iimPlay (Pr); if (go!=1) { //alert ("Внутренняя ошибка, Иду на Iopus");//просто для проверки //window.content.document.location = 'http://www.iopus.com';//просто для проверки continue //iimPlay('code: wait seconds = 3');//просто для проверки //window.content.document.location = 'http://2ip.ru/' //просто для проверки //alert ("Цикл Кончился"); //просто для проверки } else { if (window.content.find('Имя вашего компьютера', false, false, false, false)) { alert("Прокси " + [i+1] + " Рабочий, Мои поздравления :-)"); GoodPrx.push(PROXY.slice(i,i+1)) } else { continue } } } catch (e) { if (e) {alert ("ошибка")} else {alert ("нормуль")} } } alert (GoodPrx)
Отредактировано lostandleft1 (06-01-2013 23:48:42)
Отсутствует
Доброго времени суток!
Буду очень признателен за помощь в следующем.
Как правильно описать несколько циклов с выборкой?
Вот сам скрипт
CMDLINE !DATASOURCE email.csv SET !DATASOURCE_COLUMNS 200 SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !ERRORIGNORE YES SET !ERRORCONTINUE YES CMDLINE !DATASOURCE female.csv SET !DATASOURCE_COLUMNS 200 SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !ERRORIGNORE YES SET !ERRORCONTINUE YES TAB T=1 URL GOTO=http:// TAG POS=1 TYPE=A ATTR=TXT:здесь TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:email CONTENT={{!COL1}} SET !ENCRYPTION NO TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/register/ ATTR=ID:password CONTENT=12345 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:name CONTENT={{!COL2}} TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:secondname CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:middlename CONTENT=- TAG POS=1 TYPE=SELECT FORM=ACTION:/register/ ATTR=ID:r_day CONTENT=%10 TAG POS=1 TYPE=SELECT FORM=ACTION:/register/ ATTR=ID:r_month CONTENT=%7 TAG POS=1 TYPE=TBODY ATTR=TXT:E-mail:<SP>Пароль:<SP>Имя:<SP>Фамилия:<SP>Отчество:<SP>Пол:* TAG POS=1 TYPE=SELECT FORM=ACTION:/register/ ATTR=ID:r_year CONTENT=%1982 TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:phone CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:uind CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:city CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:street CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:house CONTENT=- TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:building CONTENT=- TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/register/ ATTR=VALUE:Зарегистрироваться
Когда пишу один цикл(email.csv) с выборкой для "Email" - то все работает.
Как только добавляю второй цикл(female.csv) для "Имя"- то значения меняются...
Как их правильно разделить?
Буду очень признателен за помощь!
Отсутствует
SpitFireA
Привет, выше я уже много раз писал о глючности всех манипуляций в imacros
Подобные же ошибки у тебя будут возникать с любыми извлечениями данных. при составлении макроса, если ты не используешь JS
учитывай следующее:
1 - Все команды типа EXTRACT будут давать тебе подобный результат. Каждый последний EXTRACT будет перетирать предыдущий.
2 - В Imacros вообще нет понятия циклов как таковых, а также никаких условий типа Если ТОгда...и так далее. Все делается просто последовательно по заранее прописанному сценарию
3 - Если нужна реализация циклы и условия Если ТОгда, то придется использовать JS
Таким образом, твой макрос не делает то что ты хочешь, потому как не может нормально работать с перменными.
Чтобы все работало правильно, тебе придется думать так, как думали разработчики сего чуда.
т.е. в конкретно твоем примере, нужно составить код таким образом чтобы ты сначала извлек все данные из одного файла потом заполнил этими данными значения формы на сайте, далее повторно произвел извлечение данных из другого файла и снова заполнил значения в форме.
Упрощенно:
1 Команды типа GOTU
2 Команды типа CMDLINE !DATASOURCE email.csv
3 Команды типа AG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/register/ ATTR=ID:password CONTENT=12345
4 команды типа CMDLINE !DATASOURCE female.csv
5 Команды типа TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:name CONTENT={{!COL2}}
Т.е. попробуй изменить последовательность выполнения макроса и все получится....а вообще лучше JS изучай...может и посложнее, но результат более адекватный....
Кстати если запустишь несколько сессий FF и будешь подобными баловаться командами типа EXTRACT ...то непременно нарвешся на ошибки, которые придется как-то обрабатывать.....
Удачи.
Отредактировано lostandleft1 (12-01-2013 12:00:35)
Отсутствует
Привет, выше я уже много раз писал о глючности всех манипуляций в imacros
скрытый текстПодобные же ошибки у тебя будут возникать с любыми извлечениями данных. при составлении макроса, если ты не используешь JS
учитывай следующее:
1 - Все команды типа EXTRACT будут давать тебе подобный результат. Каждый последний EXTRACT будет перетирать предыдущий.
2 - В Imacros вообще нет понятия циклов как таковых, а также никаких условий типа Если ТОгда...и так далее. Все делается просто последовательно по заранее прописанному сценарию
3 - Если нужна реализация циклы и условия Если ТОгда, то придется использовать JS
Таким образом, твой макрос не делает то что ты хочешь, потому как не может нормально работать с перменными.
Чтобы все работало правильно, тебе придется думать так, как думали разработчики сего чуда.
т.е. в конкретно твоем примере, нужно составить код таким образом чтобы ты сначала извлек все данные из одного файла потом заполнил этими данными значения формы на сайте, далее повторно произвел извлечение данных из другого файла и снова заполнил значения в форме.
Упрощенно:
1 Команды типа GOTU
2 Команды типа CMDLINE !DATASOURCE email.csv
3 Команды типа AG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:/register/ ATTR=ID:password CONTENT=12345
4 команды типа CMDLINE !DATASOURCE female.csv
5 Команды типа TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/register/ ATTR=ID:name CONTENT={{!COL2}}
Т.е. попробуй изменить последовательность выполнения макроса и все получится....а вообще лучше JS изучай...может и посложнее, но результат более адекватный....
Кстати если запустишь несколько сессий FF и будешь подобными баловаться командами типа EXTRACT ...то непременно нарвешся на ошибки, которые придется как-то обрабатывать.....
Удачи.
lostandleft1, спасибо за ответ!
Да, я знаю что iMacros не слишком подходит для таких "операций", но я надеялся что все же можно будет что-то придумать...
Про JS давно думал начать изучать, но времени мало, а там нужно вникать.
На выходных попробую поиграться с кодом и переменными, как ты посоветовал.
P.S. Если начинать изучать JS, с чего лучше начинать? Я имею ввиду книги.
Отсутствует