>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >iMacros http://forum.mozilla-russia.org/viewforum.php?id=42 >iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) http://forum.mozilla-russia.org/viewtopic.php?id=71873 |
InfSub > 03-05-2017 12:26:23 |
iMacros for FireFox - общие вопросы, обсуждение возможностей (Часть 2)
«Можно ответить на любой вопрос, если вопрос задан правильно.» «Не каждый вопрос заслуживает ответа.» |
Squatter > 11-05-2017 22:52:56 |
Есть желание обращаться к строкам кода макроса по двум и более переменным, чтобы не прописывать строки заново для каждого iimPlay. скрытый текст Выделить код Код:var main,sec; // общие строки для двух iimPlay main = sec = "CODE:"; main = sec += "FILTER TYPE=IMAGES STATUS=ON" + "\n"; main = sec += "SET !EXTRACT_TEST_POPUP NO" + "\n"; main = sec += "SET !SINGLESTEP YES" + "\n"; main = sec += "TAB T=1" + "\n"; // Произвольно чередуем main += "PROMPT Играем<SP>по<SP>переменной<SP>'main'" + "\n"; sec += "PROMPT Играем<SP>по<SP>переменной<SP>'sec'" + "\n"; main += "PROMPT Играем<SP>по<SP>переменной<SP>'main'" + "\n"; sec += "PROMPT Играем<SP>по<SP>переменной<SP>'sec'" + "\n"; for (;;){ iimPlay(main); iimPlay(sec); } А вот такая запись уже не работает скрытый текст Выделить код Код:var main,sec; main = sec = "CODE:"; main = sec += "SET !SINGLESTEP YES" + "\n"; sec += "PROMPT Играем<SP>по<SP>переменной<SP>'sec'" + "\n";//Не игнорирует iimPlay(main) main = sec += "PROMPT Играем<SP>по<SP>переменной<SP>'main'" + "\n"; for (;;){ iimPlay(main); iimPlay(sec); } Макрос не игнорирует строку с одной переменной "sec", стоит только после неё снова прописать присвоение двум переменным. Есть варианты, как организовать подобную минификацию кода? |
InfSub > 12-05-2017 08:14:34 |
Squatter скрытый текст |
Squatter > 12-05-2017 16:21:01 |
InfSub пишет
Для наглядности, чтобы Вы подключив все свои знания нашли ошибку. Задумка в упрощении записи. Допустим, чтобы играть общие строки по части составного имени переменной скрытый текст Выделить код Код:var a,b; a_b = "CODE:"; a_b += "SET !SINGLESTEP YES" + "\n"; a += "PROMPT играем<SP>'a'" + "\n"; b += "PROMPT играем<SP>'b'" + "\n"; b += "PROMPT играем<SP>'b'" + "\n"; a_b += "PROMPT играем<SP>'a'<SP>или<SP>'b'" + "\n"; for (;;){ iimPlay(a); iimPlay(b); } A Ваш вариант даже так не сработает скрытый текст Выделить код Код:var main; var a = "WAIT SECONDS=3"; main += a; iimPlayCode(main);// unknown command: UNDEFINEDWAIT, line 1 (Error code: -910) или Выделить код Код:var main; var a = "CODE:WAIT SECONDS=3"; main += a; iimPlay(main);//RuntimeError: Macro WAIT SECONDS=3.iim was not found (Error code: -930) |
InfSub > 13-05-2017 00:45:48 |
Squatter пишет
Повторюсь еще раз, вы сами себя запутали этими присвоениями, ни какой наглядности в них нет. Squatter пишет
Описанный мной пример, будет работать, в описанном вами в первом сообщении коде, но не так, как вы его пытаетесь применить. |
InfSub > 13-05-2017 12:03:05 |
Squatter
Учите основы is, все элементарно. |
Squatter > 13-05-2017 15:56:55 |
InfSub пишет
Теперь понятно. Рабочий вариант: Если хочется играть код, повторяющийся для разных iimPlay, чтобы не дублировать его, можно делать следующим образом скрытый текст Выделить код Код:var main = "CODE:"; var sec = "CODE:"; // Присваиваем 'a' общую для двух iimPlay шапку var a = "VERSION BUILD=12345\n" + "SET !ERRORIGNORE NO\n" + "SET !SINGLESTEP YES\n" + "TAB T=1\n"; main += a; sec += a; // Играем различный для двух iimPlay сценарий main += "PROMPT Играем<SP>main" + "\n"; sec += "PROMPT Играем<SP>sec" + "\n"; // Снова присваиваем 'a' общие для двух iimPlay строки если нужно a = "URL GOTO=https://forum.mozilla-russia.org/viewtopic.php?pid=736085#p736085\n" + "WAIT SECONDS=1\n" + "SET !ERRORIGNORE YES\n"; main += a; sec += a; sec += "PROMPT Работает" + "\n"; for (;;){ iimPlay(main); iimPlay(sec); } Конечно это не идеальный вариант минификации, но уже более гибко можно подходить к сценариям. InfSub Спасибо! Предыдущие сообщения можно удалить. |
InfSub > 13-05-2017 18:42:32 |
Squatter пишет
Читайте про js-функцию replace() |
anton3500 > 13-05-2017 20:02:53 |
Доброго времени суток. Подскажите,кто в теме,как с Википедии и ему подобных сайтов копировать текст.Вот такой код копирует всё HTM ,а вот просто текст ни в какую. скрытый текст любой код публикуется в тегах code внутри спойлера InfSub |
udalov > 13-05-2017 20:47:21 |
anton3500, EXTRACT= TXTкопирует текст. |
genstrijen > 13-05-2017 21:02:48 |
Здравствуйте! Вопрос по теме: скажите, а что это Русские буквы не поддерживаются что ли в списке? То есть если аймакрос берет по списку логины из файла например logins.csv и вставляет в нужое поле, то при наличии Русских букв выдаёт в логинах ошибку. А если символы англоязычные и даже есть всякие знаки типа таких @ _ - ! то работает. А с Русскими буквами ошибку выдаёт. А если Русские буквы убрать и все работает. В чем причина? Это зависит от версии аймакроса? Или нет? У меня не самая последняя версия, но и не старая: 8.6.0.1 |
InfSub > 13-05-2017 21:05:23 |
genstrijen |
genstrijen > 13-05-2017 21:10:00 |
InfSub та просто взял блокнот, написал туда логинов (сам придумал), какие-то на Русском языке, какие-то на английском. Вот на различных форумах можно регистрироваться с ником состоящим из латинских букв и так же Русскими буквами. Так я там логинов создал и таких и таких. А какая там кодировка... хз, не в курсе дела. Обычная) Какая есть, такая есть) |
anton3500 > 13-05-2017 21:18:16 |
Прошу прощения.Но ни одна команда для копирования текста,что удалось найти в поиске,не копирует текст в Википедии и ему подобных. скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV ATTR=ID:bodyContent EXTRACT=TXT TAG POS=2 TYPE=TD ATTR=TXT:* EXTRACT=TXT TAG POS=1 TYPE=DIV ATTR=ID:posts* EXTRACT=TXTALL TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT TAG POS=1 TYPE=ID ATTR=ALIGN:center&&TXT:*.* EXTRACT=TXT TAG POS=1 TYPE=H1 ATTR=CLASS:mctc_name_tx&&HREF:* EXTRACT=TXT TAG POS=1 TYPE=DIV ATTR=TXT:* EXTRACT=text TAG POS=1 TYPE=P ATTR=TXT:posts* EXTRACT=text TAG POS=1 TYPE=DIV ATTR=CLASS:posts:* EXTRACT=TXT Заголовок статьи копируется без проблем,а сама статья нет. |
InfSub > 13-05-2017 21:18:28 |
genstrijen |
genstrijen > 13-05-2017 21:22:00 |
InfSub, понятно. Спасибо! |
InfSub > 13-05-2017 21:27:18 |
anton3500 скрытый текст 13-05-2017 21:27:51 скрытый текст Выделить код Код:SET !EXTRACT_TEST_POPUP NO TAG POS=1 TYPE=DIV ATTR=ID:bodyContent EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=* FILE=wiki.txt |
anton3500 > 13-05-2017 21:54:02 |
Создается абсолютно пустой тхт документ.Только цыферки вписались 1,2,3,4.Я четырежды прогнал этот макрос.Что и где я делаю не так.Мозилла и старая и новая.Винда семерка и хп.Комп и бук.Как мне взять оттуда именно текст? И если у Вас скопировалось без проблем,ткните носом меня в ошибку. |
InfSub > 13-05-2017 22:00:13 |
anton3500 пишет
первая и основная ошибка - не читаем правила форума:
|
anton3500 > 13-05-2017 22:42:27 |
Мозилла-53.0.2 (64-бит) Википедия-любая страница. Пытаюсь скопировать из Википедии заголовок статьи и саму статью.В тхт формате.Заголовок копируется без проблем,а сама статья нет.Копируется только вся страница в нтм формате,если указать нтм.А в тхт никак.Что бы я там не прописывал.Хотя подозреваю,что дело не в кодах,а во мне.Природная глупость,как то не позволяет, найти правильные данные. скрытый текст Выделить код Код:SET !ERRORIGNORE YES SET !EXTRACT_TEST_POPUP NO URL GOTO=https://ru.wikipedia.org TAG POS=1 TYPE=A ATTR=TXT:Случайная<SP>статья TAG POS=1 TYPE=H1 ATTR=ID:firstHeading EXTRACT=TXT SET !VAR1 {{!EXTRACT}} SET !EXTRACT NULL TAG POS=1 TYPE=DIV ATTR=ID:bodyContent EXTRACT=HTM SET !VAR2 {{!EXTRACT}} если прописать вот так,то копирования не происходит. TAG POS=1 TYPE=DIV ATTR=ID:bodyContent EXTRACT=TXT А нужно взять именно тхт. |
InfSub > 13-05-2017 22:43:45 |
anton3500 пишет
https://forum.mozilla-russia.org/viewtopic.php?id=71920 13-05-2017 22:47:17 iMacros ver. 8.9.7 - полет нормальный Выделить код Код:SET !EXTRACT_TEST_POPUP NO URL GOTO=https://ru.wikipedia.org TAG POS=1 TYPE=A ATTR=TXT:Случайная<SP>статья TAG POS=1 TYPE=DIV ATTR=ID:bodyContent EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=* FILE=wiki.txt |
anton3500 > 13-05-2017 23:08:13 |
InfSub - Благодарю.Четвертый день мучался.а ларчик просто открывался, оказывается.Всех Вам благ и терпения на Нас( специалистов)- побольше.С уважением, Антон. |
genstrijen > 17-05-2017 18:32:20 |
Подскажите, как можно сделать чтоб аймакрос вставлял в поле "логин" ники состоящие из двух слов, например: Иван Василевич, Василий Иванович, Василий Алибабаевич и т.д.? А то он первое слово берет, а второе игнорирует. Понятно что это из-за пробела, но тем не менее такой ник. И пробел из него никуда не убрать. |
InfSub > 17-05-2017 18:37:23 |
genstrijen |
genstrijen > 17-05-2017 18:42:00 |
InfSub спасибо! |
InfSub > 17-05-2017 18:49:05 |
genstrijen csv можно без кавычек, если столбец один в кавычках если столбцов несколько Выделить код Код:"Александр Василевич","26 лет" "Василий Иванович","40 лет" "Василий Алибабаевич","59 лет" iim |
LeoKranis > 18-05-2017 03:07:15 |
Люди добрые, есть очень интересная проблемка, подскажите пожалуйста как мне реализовать скрипт, который бы реагировал на событие. Если быть точнее, то если в тексте на сайте появляется слово которое есть в моем текстовом файле, чтобы макрос выполнял определенный ряд действий, а если нет, то ждал время и заново начинал искать. Как мне подключить файл в это дело и текст с него. А все остальное, как я понимаю нужно реализовывать через if и then. Заранее благодарен. Буду рад любой помощи. |
InfSub > 18-05-2017 03:41:12 |
LeoKranis |
genstrijen > 18-05-2017 09:16:13 |
InfSub пишет
У меня как раз один столбец, поэтому без ковычек. А вот часть ява-скрипта, там кавычки поставил, как вы и показали, но увы не тут-то было. Не дало результата это. Наверное надо как-то иначе? Ведь вы показали для .iim а у меня .js скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE logins.csv\nSET !DATASOURCE_LINE '+a+'\nSET !EXTRACT "{{!COL1}}"'); if(iimGetExtract()=='')break; iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="#guest_form>INPUT" CHARS='+iimGetExtract()); что тут подправить? |
InfSub > 18-05-2017 09:40:30 |
genstrijen скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE logins.csv\nSET !DATASOURCE_LINE '+a+'\nPROMPT "{{!COL1}}"'); |
genstrijen > 18-05-2017 10:27:21 |
InfSub результат такой: в браузере открывается новое окошко с именем-отчеством (вроде всё как надо). Но вот в поле ввода логина всё равно почему-то только имя вставляется, а отчество игнорится. версия аймакроса 8.6.0.1 |
InfSub > 18-05-2017 10:46:12 |
genstrijen пишет
Да, во второй строке, тоже кавычки должны быть скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE logins.csv\nSET !DATASOURCE_LINE '+a+'\nSET !EXTRACT "{{!COL1}}"'); if(iimGetExtract()=='')break; iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="#guest_form>INPUT" CHARS="'+iimGetExtract()+'"'); 18-05-2017 10:49:18 Любая строка, содержащая пробелы, в iMacros, должна быть обрамлена двойными кавычками, не важно прописана она руками в код или приходит из iim- или js- переменной |
genstrijen > 18-05-2017 10:57:06 |
InfSub теперь всё работает как надо. Благодарю! |
genstrijen > 18-05-2017 17:18:28 |
Подскажите пожалуйста как сохранять всю страницу в текст? То есть, например, когда нажимаем на странице правую кнопку мыши то выпадает окошко и там есть пункт выделить всё. И вот всё что выделяется, весть текст, нам надо сохранить. Подскажите как это сделать проще с помощью ява-скрипта? скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:* EXTRACT=TXT\nSET !EXTRACT {{!EXTRACT}}\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=text.txt'); Если вместо TYPE и TXT поставить звёздочки то вообще ничего не сохранаяется. |
InfSub > 18-05-2017 18:42:25 |
genstrijen скрытый текст или 18-05-2017 18:45:15 На счет pre, не уверен, если память не изменяет, должно работать аналогично тега body, в таком контексте, но возможно ошибаюсь, надо пробовать |
dim222 > 18-05-2017 21:29:10 |
InfSub Сохраняю в файл с переносом строки Выделить код Код:/* запись в файл */ var appendToFile = function (fileName, text) { var fileDescriptor = imns.FIO.openNode(fileName); imns.FIO.appendTextFile(fileDescriptor, text); } var save = function () { appendToFile(file_recapa,'\r\n'+id_recaptcha); } save(); Далее другим скриптом беру нижнюю строку и удаляю ее скрытый текст Выделить код Код:/* ключ с текста (с нижней строки) и удаление нижней строки в файле */ var loadFile = function (fileName) { var fileDescriptor = imns.FIO.openNode(fileName); var text = imns.FIO.readTextFile(fileDescriptor); return { text: text, strings: text.split('\n') }; } var saveToFile = function (fileName, text) { var fileDescriptor = imns.FIO.openNode(fileName); imns.FIO.writeTextFile(fileDescriptor, text); } var strings = loadFile(file_recapa).strings; var delet = (strings.length-1); var key_recapa = strings[strings.length-1]; strings.splice(delet, 1); saveToFile(file_recapa, strings.join('\n')); alert(key_recapa) Но сначала делаю проверку на наличие записи скрытый текст Выделить код Код:while(file = inportData('file:///'+file_recapa),file=='') {//п»ї iimPlayCode('WAIT SECONDS=2') } Этот символ "п»ї" ( я так понимаю это перенос строки) видит макрос, хотя в .тхт его нет. Как в проверке на наличие текста(см.выше)его добавить? Перенос строки сделал перед записью,а не после,иначе после каждого удаления перенос добавляется. |
InfSub > 18-05-2017 21:39:26 |
dim222 |
dim222 > 18-05-2017 22:29:36 |
кодировка стоит utf8, не помогает. Такую ерунду видит только на самой первой строке [0].Остальные строки делаю пустыми, не видит. Фигня какая-та,не могу победить. |
InfSub > 18-05-2017 23:44:03 |
dim222 |
dim222 > 20-05-2017 05:44:46 |
InfSub |
dim222 > 21-05-2017 06:25:52 |
Господа! Подскажите,как целесообразней и правильнее заходить под разными профилями? Т.е Запустил скрипт,сделал что надо,далее |
EverythingForYou > 21-05-2017 07:58:07 |
-p name -noremote |
dim222 > 21-05-2017 09:42:27 |
EverythingForYou пишет
Ты не понял моего вопроса. |
karginaolga > 21-05-2017 12:31:00 |
dim222 скрытый текст Выделить код Код:START C:\FirefoxPortable\App\Firefox\firefox.exe -no-remote -profile "C:\FirefoxPortable\App\DefaultData\profiles\bot1" и так далее скрытый текст Выделить код Код:START C:\FirefoxPortable\App\Firefox\firefox.exe -no-remote -profile "C:\FirefoxPortable\App\DefaultData\profiles\bot2" |
dim222 > 21-05-2017 18:19:15 |
karginaolga |
InfSub > 21-05-2017 18:20:49 |
dim222 |
dim222 > 21-05-2017 19:07:19 |
InfSub |
InfSub > 21-05-2017 19:25:37 |
dim222 |
dim222 > 21-05-2017 19:46:33 |
InfSub |
dim222 > 22-05-2017 16:14:22 |
Подскажите, как в батнике прописать запуск скрипта не сразу,а допустим после 5 сек.после открытия браузера? Или может у кого есть другие варианты? В батнике я подставляю файл кук, но они как будто бы не догружаются что ли. Руками делаю,все норм. Можно как то через лаунчер, погуглил, не нашел вариантов. |
InfSub > 22-05-2017 16:27:56 |
dim222 22-05-2017 16:30:34 |
dim222 > 22-05-2017 16:50:44 |
InfSub |
EverythingForYou > 22-05-2017 17:19:00 |
да, можно. есть два варианта, в зависимости от того какая ОС: 1. ping -n секунды 127.0.0.1 > NUL 2. timeout секунды > NUL подробнее в интернетах : ) |
Hamzat > 24-05-2017 10:36:11 |
dim222 Так можно же менять и без закрытии браузера, зачем такие сложности. InfSub |
taniks > 24-05-2017 10:52:06 |
Здравствуйте! Есть скрипт(запуск скрипта по времени), как только время совпадает, скрипт запускается, но есть нюанс, после совпадения скрипт не останавливается, то-есть функция break; не работает. Исправьте пожалуйста. Спасибо. скрытый текст Выделить код Код:while(true){ var t = new Date(); var h = t.getHours(); var m = t.getMinutes(); var res = [h,m]; var arr = [1]; arr[1] = ['10,32','22,15']; for (var i=0;i<arr.length;i++) { for (var j=0;j<arr[i].length;j++) { if (res == arr[i][j]){ iimPlayCode("URL GOTO=imacros://run/?m=1.js"); // alert("hello,word!"); break; }; }; }; iimPlay('CODE:WAIT SECONDS=2'); }; |
InfSub > 24-05-2017 10:57:07 |
taniks |
taniks > 24-05-2017 11:13:15 |
удалено, избыточное цитирование, п.п. 2.9 InfSub |
InfSub > 24-05-2017 11:32:08 |
taniks пишет
что именно вам не понятно в следующих цитатах: Мини FAQ по iMacros for Firefox - Как запустить один скрипт из другого: InfSub пишет
https://forum.mozilla-russia.org/viewto … 15#p737115 InfSub пишет
https://forum.mozilla-russia.org/viewto … 19#p718719 InfSub пишет
https://forum.mozilla-russia.org/viewto … 00#p721700 InfSub пишет
добавлена цитата из FAQ и ссылки на посты |
taniks > 24-05-2017 11:51:38 |
InfSub пишет
Теперь понятно Спасибо. А можно пример ? |
InfSub > 24-05-2017 11:53:43 |
taniks скрытый текст |
taniks > 24-05-2017 12:11:41 |
удалено, избыточное цитирование, п.п. 2.9, как правильно отвечать в теме - описано тут InfSub |
InfSub > 24-05-2017 12:28:12 |
taniks пишет
я вам уже ответил почему, здесь taniks пишет
в чем вопрос? мне вам в третий раз сказать что проблема в том, что вы запускаете js-скрипт из js-скрипта? хотите подробностей - читайте, ссылки даны taniks пишет
отлично, бригада уже выехала - будут усиливать ваш телепатический дар, так как, до нас подробности вашего кода, который не работает и находится, в данный момент в файле 1.js - не долетели |
taniks > 24-05-2017 15:43:34 |
Как то злобно вы реагируете на всё Суть проблемы в том, что цикличность, не смотря на команду break, цикличность продолжает работать, а мне надо, чтобы при нахождении определённого слова, всё остановилось(скрипт). скрытый текст Выделить код Код:while(true){ var t = new Date(); var h = t.getHours(); var m = t.getMinutes(); var res = [h,m]; var arr = [1]; arr[1] = ['15,23','22,15']; for (var i=0;i<arr.length;i++) { for (var j=0;j<arr[i].length;j++) { if (res == arr[i][j]){ var macro1; macro1 = "CODE:"; macro1 += "SET !ERRORIGNORE YES" + "\n"; macro1 += "SET !TIMEOUT_PAGE 60" + "\n"; iimPlay(macro1) var text_12 ='1', text_31 ='4', text_32 ='5'; for (;;){ if(iimPlayCode('SEARCH SOURCE=TXT:"'+text_32+'"')>0); if(iimPlayCode('SET !TIMEOUT_STEP 0\nSEARCH SOURCE=TXT:"'+text_12+'"')>0){break;} if(iimPlayCode('SEARCH SOURCE=TXT:"'+text_31+'"')>0); else iimPlayCode('SET !TIMEOUT_PAGE 60\nONDIALOG POS=1 BUTTON=OK CONTENT=\nREFRESH'); { }} }; }; }; iimPlay('CODE:WAIT SECONDS=0'); }; |
InfSub > 24-05-2017 17:46:47 |
taniks пишет
потому что надоело в тысячный раз цитировать правила форума и темы iMacros, задавать наводящие вопросы, чтобы вопрошающий соизволил предоставить информацию по вопросу, достаточную для ответа на его вопрос, а не из серии: "помогите, ни чего не работает" следующий код, совершенно бесполезен и не на что не влияет в таком варианте использования: скрытый текст Выделить код Код:var macro1; macro1 = "CODE:"; macro1 += "SET !ERRORIGNORE YES" + "\n"; macro1 += "SET !TIMEOUT_PAGE 60" + "\n"; iimPlay(macro1); следующий код вызовет ошибку, хотя и не критичную и не прервет выполнение скрипта: скрытый текст taniks пишет
какую? в первом вашем посте - присутствовал break которого в данном коде нет, но есть другой... и о каком вы говорите? |
dim222 > 24-05-2017 17:47:03 |
Hamzat пишет
Я не знаю как это сделать.Я думал загрузка необходимых параметров происходит при открытии браузера. |
taniks > 24-05-2017 18:24:16 |
InfSub пишет
Вы поймите, мне надо чтобы скрипт закончил свою работу, когда найдёт слово скрытый текст это второй вариант. |
InfSub > 24-05-2017 18:25:49 |
taniks |
dim222 > 24-05-2017 18:49:30 |
dim222 пишет
Решил (не без помощи) с помощью .html (сначала запуститься мозилла с открытой вкладкой и через 5 сек запустится скрипт и все фильтры будут работать) |
InfSub > 24-05-2017 19:19:45 |
dim222 24-05-2017 19:23:58 ссылка на FAQ по JS: Метки для break/continue |
taniks > 24-05-2017 20:13:55 |
InfSub[b пишет
Да, while, исправьте пожалуйста мой скрипт, как надо, просто в этом я новичок. |
dim222 > 24-05-2017 21:02:04 |
InfSub пишет
Возможно моя кривота рук. Но у меня так и не получилось запустить данным методом (по ссылке) скрипт с задержкой. Там кстати указано про костыли с профилем. |
Gergi > 26-05-2017 08:31:36 |
Можно ли iim или js нажимать на кнопку пауза в имакросе? |
Squatter > 26-05-2017 09:18:07 |
Gergi скрытый текст |
nikki67 > 26-05-2017 10:54:45 |
Доброго времени суток. скрытый текст Выделить код Код:for(w=1; w<=30; w++){ if(iimPlayCode('SET !REPLAYSPEED FAST\nSET !TIMEOUT_STEP 0\nFRAME F='+w+'\nEVENT TYPE=CLICK SELECTOR="HTML>BODY>P" BUTTON=0')>0){ iimPlayCode('FRAME F='+w+'\nEVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY" CHARS="'+comment+'"'); iimPlayCode('FRAME F=0\nEVENT TYPE=CLICK SELECTOR="#thread-reply-form>P>BUTTON" BUTTON=0'); break;}} Т.к. форма для написания сообщения находится во фрейме. Так вот, iMacros находит номер фрейма только если окно FF активно. Как только я сворачиваю или переключаюсь на другое окно, iMacros просто работает вхолостую. Можно проблему как-н решить? Потому что это не очень удобно. |
EverythingForYou > 26-05-2017 17:25:53 |
да, можно. нужно избавиться от EVENT команд. |
Gergi > 31-05-2017 19:53:36 |
Всем привет! скрытый текст Выделить код Код:<i style="background-image: url("https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-0/p206x206/18882232_1255767817853857_156573834727522887_n.jpg?oh=6bb049440d5f7d8f20027a456e9504cf&oe=59A6A373"); outline: 1px solid blue;" class="uiMediaThumbImg"></i> |
InfSub > 31-05-2017 20:06:53 |
Gergi |
Gergi > 31-05-2017 20:59:15 |
InfSub |
InfSub > 31-05-2017 21:01:51 |
Gergi пишет
читайте FAQ по функции match() - да и на форуме, я многократно писал, как получить правильный результат от данной функции |
Gergi > 31-05-2017 21:08:55 |
InfSub скрытый текст |
InfSub > 31-05-2017 21:12:36 |
Gergi |
Squatter > 01-06-2017 02:32:07 |
Gergi примерно так можно если ищете несколько таких строк на странице скрытый текст Выделить код Код:TAG POS=1 TYPE=* ATTR=* EXTRACT=HTM SET digits EVAL("var str = '{{!EXTRACT}}'.match(/_\d+_/g); str.join().replace(/_/g, '').replace(/,/g, '\\r\\n');") SET !EXTRACT NULL PROMPT {{digits}} ADD !EXTRACT {{digits}} SAVEAS TYPE=EXTRACT FOLDER=iMacros FILE=Name.txt" Если количество цифровых знаков после '_' всегда одинаково, то выборку можно вести точнее по этому самому количеству, т.е. вместо /_\d+_/ пишем /_\d{16}_/ Получим только _1255767817853857_ а не _1255767817853857_ и _156573834727522887_ |
dim222 > 01-06-2017 06:45:32 |
Знатоки!!! при получении вчерашней даты использую код скрытый текст Выделить код Код:var d = new Date(); d.setDate(d.getDate()-1); alert(d.getDate()+'.'+d.getMonth()+'.'+d.getFullYear()) Проблема в том , что месяц показывает не правильно (31.4.2017). Подскажите,как исправить. |
Squatter > 01-06-2017 07:14:57 |
dim222 скрытый текст Выделить код Код:var MyDate = new Date(); var MyDateString; MyDate.setDate(MyDate.getDate() - 1); MyDateString = ('0' + MyDate.getDate()).slice(-2) + '.' + ('0' + (MyDate.getMonth()+1)).slice(-2) + '.' + MyDate.getFullYear(); alert(MyDateString); подробно расписано тут скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. В Вашем варианте не только месяц, но и число без нуля будет показывать. Счёт месяцев идёт с нуля скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. поэтому getMonth()+1 |
dim222 > 01-06-2017 13:54:44 |
Squatter пишет
Точно.........С головы вылетело. Спасибо!!! |
FastSpeed > 02-06-2017 13:32:04 |
Всем привет, очень нужна ваша помощь. Имею следующий скрипт: скрытый текст Выделить код Код:VERSION BUILD=9030808 RECORDER=FX SET !ERRORIGNORE YES FILTER TYPE=IMAGES STATUS=ON URL GOTO= МОЯ ССЫЛКА WAIT SECONDS=1 TAG POS=1 TYPE=DIV ATTR=ID:subText >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ПРОБЛЕМНОЕ МЕСТО!!!!!!!!!!!!!!!! TAB T=2 WAIT SECONDS=2 TAG POS=2 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=1 TAG POS=1 TYPE=DIV ATTR=TXT: WAIT SECONDS=3 TAG POS=1 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=2 CLICK X=94 Y=494 WAIT SECONDS=2 CLICK X=102 Y=498 WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=3 EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0 WAIT SECONDS=2 TAB T=1 WAIT SECONDS=3.5 TAG POS=2 TYPE=DIV ATTR=TXT: WAIT SECONDS=2 TAG POS=1 TYPE=DIV ATTR=TXT: WAIT SECONDS=1 TAB CLOSEALLOTHERS Проблема в том, что с 5% вероятностью этой кнопки на странице может и не оказаться. скрытый текст В чем вопрос, хочу сделать, чтобы скрипт Imacros обновлял страницу (REFRESH), если нет этой кнопки. Итак до бесконечности пока не появиться кнопка. Нагуглил, что нужно подключать js файлы скрытый текст Выделить код Код:var macro; iimPlayCode('SET !ERRORIGNORE YES'); macro ="CODE:"; macro +="TAG POS=1 TYPE=DIV ATTR=ID:subText"; var ret=null; ret=iimPlay(macro); if(ret>0) { iimPlayCode('SET !DATASOURCE_LINE 7'); >>>>>>>>>> Хочу начать с седьмой строки, если условие верно iimPlayCode('URL GOTO=imacros://run/?m=Sub2-2.iim'); } else { iimPlayCode('REFRESH')} Имею следующие проблемы: 1)if(ret>0), т.е условие верно и кнопка есть мне нужно продолжить мой скрипт с 7 строки, но js запускает его заново 2)Цикл не выполняется бесконечно, а только 1 раз. P.S Где то видел, что проверять элемент на странице можно командой EVAL без подключение JS, но уже не помню где. Тогда 1 проблема отпадет. |
Squatter > 02-06-2017 14:44:49 |
if(ret>0) наоборот if(ret<0) скрытый текст Выделить код Код:for (;;){ var err = iimPlay("CODE:URL GOTO= МОЯ ССЫЛКА\nPOS=1 TYPE=DIV ATTR=ID:subText >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ПРОБЛЕМНОЕ МЕСТО!!!!!!!!!!!!!!!!"); if (err<0){continue;} iimPlay("CODE:TAB T=2\nWAIT SECONDS=2\nTAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1"); } Играете вначале проблемный кусок кода. Если кнопки нет, цикл переходит на новую итерацию и заново проигрывает переход на страницу(вместо рефреша) и проблемное место до тех пор пока не найдёт кнопку. Если находит, то играет следующий iimPlay("ваша 7-я строка"); |
FastSpeed > 02-06-2017 14:57:24 |
Спасибо большое! У меня еще тогда такой вопрос, дело в том, что изредка меня интернет страница выкидывает на поле ввода логина и пароля. Это происходит после URL GOTO= МОЯ ССЫЛКА. В принципе не вопрос, ввод логина я сделал. скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR="#formLogin>DIV>INPUT" BUTTON=0 WAIT SECONDS=2 EVENTS TYPE=KEYPRESS SELECTOR="#formLogin>DIV>INPUT" CHARS="МОЙ ЛОГИН" WAIT SECONDS=2 EVENT TYPE=CLICK SELECTOR="#formLogin>DIV:nth-of-type(2)>INPUT" BUTTON=0 SET !ENCRYPTION NO WAIT SECONDS=2 EVENTS TYPE=KEYPRESS SELECTOR="#formLogin>DIV:nth-of-type(2)>INPUT" CHARS="МОЙ ПАРОЛЬ" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON FORM=ID:formLogin ATTR=TXT:Login код публикуется в тегах code, внутри спойлера Так, слабо себе представляю как сделать сначала проверку в JS на то, что меня выкинуло, если выкинуло, то я захожу снова. InfSub |
FastSpeed > 02-06-2017 16:57:49 |
Squatter скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0 Почему я использую преобразованную команду? Дело в том, что там кнопка меняет свои TAG POS = 1, 2 и так до 100500 скрытый текст InfSub |
Squatter > 02-06-2017 18:15:01 |
FastSpeed пишет
Аналогично, как и с кнопкой можно, через условие. Если не находит какой-нибудь элемент (которого точно нет на странице входа) после перехода «URL GOTO= МОЯ ССЫЛКА», то играет ваш код авторизации. FastSpeed пишет
Экранировать кавычки нужно скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0 или оборачивать весь код одинарными кавычками, а в EVENT оставлять как есть двойные. |
FastSpeed > 02-06-2017 19:22:03 |
Спасибо еще раз Осталась последняя проблема с этим JS. Если я использую js, то теперь нельзя остановить скрипт (STOP), браузер начинать лагать и скрипт не останавливается. В принципе не особо проблема, но я использую сразу 10 iim файлов. Они друг друга меняют в конце, содержимое их одинакокое, за исключением почтового ящика. Запустить js из js из-за этого бага теперь нельзя. Однако мне нужно, что скрипт менял почтовые ящики по клику: скрытый текст Выделить код Код:for (;;){ var err = iimPlay("CODE:URL GOTO=/* моя ссылка */\nTAG POS=1 TYPE=DIV ATTR=ID:subText"); if (err<0){continue;} // мой скрипт iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:fastspeed@yandex.com); // дальше мой скрипт // вернуться к циклу на проверку кнопки TAG POS=1 TYPE=DIV ATTR=ID:subText // опять мой скрипт, но уже почта другая iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:fastspeed1@yandex.com); // снова вернуться к циклу на проверку кнопки TAG POS=1 TYPE=DIV ATTR=ID:subText // Итак 10 раз, и мы снова вернемся от 10 почте к 1 } п.п. 2.4 Злоупотребление написанием сообщений ЗАГЛАВНЫМИ буквами - для комментариев в JS используется двойной слэш //02-06-2017 19:30:36 Squatter пишет
Я понимаю, но меня выкинуть может в момент, когда происходит URL GOTO= МОЯ ССЫЛКА и скрипт ищет кнопку Subtext. Если меня выкинет в этот момент, скрипт будет искать кнопку TAG POS=1 TYPE=DIV ATTR=ID:subText на странице авторизации и не найдет её и будет по кругу крутить этот URL GOTO= МОЯ ССЫЛКА и меня вечно будет кидать на страницу авторизации. замечание InfSub |
FastSpeed > 02-06-2017 20:31:17 |
Опять проблема, сделал скрипт по вашей наводке. Этот JS меня начинает выводить из себя, одно починил другое сломал. Опять проблема скрытый текст Выделить код Код:for (;;){ var err = iimPlay("CODE:URL GOTO=МОЯ ССЫЛКА\nTAG POS=1 TYPE=DIV ATTR=ID:subText"); if (err<0){continue;} iimPlay("CODE:TAB T=1\nWAIT SECONDS=2\nTAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1\nTAG POS=1 TYPE=DIV ATTR=TXT:МОЙ ПОЧТОВЫЙ ЯЩИК\nWAIT SECONDS=3\nTAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=2\nCLICK X=94 Y=494\nWAIT SECONDS=2\nCLICK X=102 Y=498\nWAIT SECONDS=2\nTAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=3\nEVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0\nWAIT SECONDS=3\nTAB T=1\nWAIT SECONDS=3\nTAG POS=2 TYPE=DIV ATTR=TXT:Verify<SP>Subscription\nWAIT SECONDS=2\nTAG POS=1 TYPE=DIV ATTR=TXT:Next<SP>>>\nWAIT SECONDS=1\nTAB CLOSEALLOTHERS\nWAIT SECONDS=1"); } Код из команды iimPlay(ДЛИННЫЙ СКРИПТ) не до конца доигрывает и снова кидает на цикл var err |
dim222 > 02-06-2017 22:10:58 |
FastSpeed скрытый текст Выделить код Код:iimPlay("CODE:TAB T=1\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1"); iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:МОЙ ПОЧТОВЫЙ ЯЩИК\nWAIT SECONDS=3"); iimPlay("CODE:TAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=2"); iimPlay("CODE:CLICK X=94 Y=494\nWAIT SECONDS=2\nCLICK X=102 Y=498\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=3"); iimPlay("CODE:EVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0\nWAIT SECONDS=3"); iimPlay("CODE:TAB T=1\nWAIT SECONDS=3"); iimPlay("CODE:TAG POS=2 TYPE=DIV ATTR=TXT:Verify<SP>Subscription\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:Next<SP>>>\nWAIT SECONDS=1"); iimPlay("CODE:TAB CLOSEALLOTHERS\nWAIT SECONDS=1"); 02-06-2017 22:26:52 Ребят подскажите! Складываю массивы одним оператором. скрытый текст Выделить код Код:function summa () { var a = inportData('file:///D:\\1.txt'); for(var sum = i = 0; i < a.length; i++) sum += +a [i]; alert (sum); } function inportData(a) { var b = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); return b.open("GET", a, false), b.send(), b.responseText.split("\n") }; Все работает. Но мне надо брать через разделитель(т.е. строка имеет вид"2-ла-ла-ла|14 |ла-ла-ла-23.45 |",надо брать 14).Как правильно сделать? |
karginaolga > 02-06-2017 22:46:08 |
скрытый текст а если с преобразованием в число то так скрытый текст код публикуется в тегах code под спойлером InfSub |
dim222 > 02-06-2017 23:09:08 |
karginaolga Спасибо!работает. проблема была из-за переноса пустой строки |
vodogrey > 04-06-2017 12:28:55 |
Всем привет, подскажите пожалуйста. скрытый текст Выделить код Код:TAB T=1 URL GOTO=http://www.seosprint.net/work-task.php?f=1 wait seconds =2 TAB OPEN TAB T=2 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=1242043&cnt=a4646eb2044408c2ef167cdee56a1cb6 wait seconds =2 TAB OPEN TAB T=3 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=1073002&cnt=01cf6406f3fa7383e6b416d22f229e00 wait seconds =2 TAB OPEN TAB T=4 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=904173&cnt=e2219e7febd8ccdf1604b3a3da430487 код публикуется в тегах code внутри спойлера InfSub |
InfSub > 04-06-2017 12:46:10 |
vodogrey |
vodogrey > 04-06-2017 14:30:29 |
InfSub пишет
а сколько будет стоить помощь спеца в этом вопросе? возможно к вам обратиться? |
InfSub > 04-06-2017 15:22:16 |
vodogrey |
dim222 > 04-06-2017 17:28:28 |
Кто-нить знает, как перезагрузить отдельный элемент на странице (например рекапчу) без перезагрузки всей страницы. |
dim222 > 05-06-2017 18:47:47 |
По гуглив ответа не нашел. Такая ерунда: с каждым перезапуском ff растет кол-во значков в трее. (скрыть значки и уведомления - не помогает). Может ли это действовать на производительность и есть ли у кого решение ? |
dim222 > 06-06-2017 14:02:02 |
Уважаемые! Каким способом можно проверить скриптом активность другого скрипта (работает он или вызвал ошибку)? |
InfSub > 06-06-2017 14:04:30 |
dim222 06-06-2017 14:06:25 dim222 пишет
где-то в было описание, как убивать хвосты FF при закрытии, т.е. скрипт сам убивал все лишнее, после чего закрывал FF - поищите, скорее всего - это было в теме про капчи |
Hamzat > 06-06-2017 17:47:05 |
dim222 Правильно закрывайте firefox и не будет проблем, вот https://forum.mozilla-russia.org/viewto … 52#p718352 |
karginaolga > 06-06-2017 22:33:21 |
InfSub скрытый текст Альтернативный вариант, добавьте в FAQ скрытый текст Выделить код Код:// Кликнет по элементу с id="sbm" var targetNode = window.document.querySelector("#sbm"); if (targetNode) { triggerMouseEvent (targetNode, "mouseover"); triggerMouseEvent (targetNode, "mousedown"); triggerMouseEvent (targetNode, "mouseup"); triggerMouseEvent (targetNode, "click"); } else window.console.log ("*** Target node not found!"); function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } добавлено в FAQ InfSub |
dim222 > 07-06-2017 06:22:06 |
InfSub пишет
Не понимаю! Как это сделать,если скрипт остановлен? script1 Выделить код Код:X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var namber=1; x=new X(); x.open('GET','file:///D:/bots.js',false); x.send(null); eval(x.response); script2 (при старте ругается на это) Выделить код Код:function inportData(a) { var b = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); return b.open("GET", a, false), b.send(), b.responseText.split("\n") // НА ЭТУ СТРОКУ } 07-06-2017 06:22:53 Hamzat Спасибо! |
InfSub > 07-06-2017 07:52:41 |
dim222 |
dim222 > 09-06-2017 10:51:52 |
Тяму не хватает одним оператором выбирать только нужные строки(сумма по прошлой дате).Подскажите. Строка имеет вид "8.6|la-la-la|123la-la-la|"(8.6-прошлая дата). как выбрать строки имеющие в первой колонке "past_date"? Выделить код Код:var file_work='D:\\'; var d = new Date(); d.setDate(d.getDate()-1); past_date=d.getDate()+'.'+ (d.getMonth()+1); var a = inportData('file:///'+file_work+'conclusion.txt'); for(var sum = i = 0; i < a.length-1; i++) sum += +a[i].split('|')[2].replace(/\D+/g,""); |
InfSub > 09-06-2017 13:43:29 |
dim222 |
dim222 > 09-06-2017 19:27:35 |
InfSub данный код суммирует массив( по 3-ей колонке , оставляя цифры) ,он рабочий Выделить код Код:var a = inportData('file:///'+file_work+'conclusion.txt'); for(var sum = i = 0; i < a.length-1; i++) sum += +a[i].split('|')[2].replace(/\D+/g,""); мне надо что бы суммировал только нужные строки (в которых присутствует прошлая дата "past_date"(1-я колонка) |
karginaolga > 09-06-2017 20:10:10 |
dim222 скрытый текст Выделить код Код:if (a[i].split('|')[0] < new Date().getDate()+'.'+ (new Date().getMonth()+1)) sum += +a[i].split('|')[2].replace(/\D+/g,""); |
dim222 > 10-06-2017 17:18:10 |
karginaolga |
dim222 > 10-06-2017 17:50:33 |
так работает(суммирует массив по прошлой дате),но не могу понять почему. Выделить код Код:var file_work='D:\\bots\\CapNum\\'; function inportData(a) { var b = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); return b.open("GET", a, false), b.send(), b.responseText.split("\n") } var d = new Date(); d.setDate(d.getDate()-1); past_date=d.getDate()+'.'+ (d.getMonth()+1); var a = inportData('file:///'+file_work+'conclusion.txt'); for(var sum = i = 0; i < a.length-1; i++)if (a[i].split('|')[0] > past_date) sum += +a[i].split('|')[2].replace(/\D+/g,""); alert(sum) По идее должно быть '== past_date',а не' > past_date'. |
karginaolga > 10-06-2017 19:36:53 |
dim222 |
dim222 > 11-06-2017 17:33:20 |
karginaolga |
dim222 > 11-06-2017 18:05:27 |
Уважаемые, подскажите пожалуйста простым примером ,как выбрать переменную с самым низким числом. Допустим имеем "var a=13,b=7,c=3"(при этом все или несколько могут иметь одно и тоже число(выбрать любое из одинаковых)). Мне нужно для работы с .тхт файлами (определить в каком наименьшее кол-во строк). |
karginaolga > 11-06-2017 19:09:27 |
dim222 скрытый текст Выделить код Код:function compareNumeric(a, b) { if (a > b) return 1; if (a < b) return -1; } var arr = [ 1, 20, 15 ]; arr.sort(compareNumeric); alert(arr); |
dim222 > 12-06-2017 09:53:53 |
karginaolga 'alert(arr);' выдает весь массив т.е. '1, 20, 15'. Я что-то не так делаю? |
karginaolga > 12-06-2017 10:43:01 |
dim222 |
dim222 > 13-06-2017 00:39:18 |
karginaolga |
Алим > 13-06-2017 22:06:04 |
При входе в настройки модема, появляется табличка, где нужно ввести логин admin пароль admin Устанавливал дополнения Close Proxy Authentication и Proxy Authentication не работает. |
dim222 > 14-06-2017 05:29:32 |
Алим |
dim222 > 14-06-2017 06:45:44 |
За пол-года "не работы " с мозиллой потерял-забыл много полезного. Скиньте плиз .vbs -с загрузкой нужного профиля и старта скрипта (желательно с задержкой , для загрузки расширений).Спасибо!!! |
karginaolga > 17-06-2017 15:09:48 |
Помогите с пробелами: скрытый текст как только не пробовали: "Google Диск" "Google%20Диск" "Google\sДиск" "Google<SP>Диск" и не надо писать типа используйте пути без пробелов так тоже не работает скрытый текст Спасибо |
Hamzat > 17-06-2017 19:23:50 |
karginaolga
Может код функции appendToFile тоже покажите? |
karginaolga > 17-06-2017 22:20:44 |
Hamzat скрытый текст Выделить код Код:var appendToFile = function (fileName, text) { var fileDescriptor = imns.FIO.openNode(fileName); imns.FIO.appendTextFile(fileDescriptor, text); } var log = function (msg) { var text = msg + "\r\n"; appendToFile("C:\\Users\\Google Диск\\scripts\\1.txt", text); } |
Hamzat > 17-06-2017 23:40:19 |
karginaolga
Проверил, проблем не наблюдаю, не с русскими символами в пути, не с пробелами. iMacros 8.9.7 Firefox 35.01 |
karginaolga > 18-06-2017 08:02:37 |
Hamzat |
Ассоль > 19-06-2017 10:33:13 |
Здравствуйте! Как прописать команду для автолайкера, когда лайк в разных местах? Раньше был клик по коорданитам, теперь он не актуален. |
udalov > 25-06-2017 17:29:18 |
Ассоль пишет
Найти в коде, отвечающем за кнопку Лайка неизменяемый элемент. 25-06-2017 17:34:32 скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. , но нажатие не происходит, хотя саму кнопку скрипт находит, она подсвечивается. В чём проблема? скрытый текст Выделить код Код:iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS=1 TYPE=DIV ATTR=data-url:*LikeBlock*'); отсутствует спойлер InfSub |
Antor > 25-06-2017 21:50:57 |
Помогите, пожалуйста, с JS If Else. Просто сам в JS вообще 0. Пытался понять, но что то никак пока( Вот сам код Выделить код Код:TAB T=1 REFRESH TAG POS=1 TYPE=DIV ATTR=CLASS:name EXTRACT=TXT SET !CLIPBOARD {{!EXTRACT}} TAB T=2 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT={{!CLIPBOARD}} TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:nameForm ATTR=ID:add_name TAG POS=1 TYPE=A ATTR=ID:next Мне нужно что бы постоянно обновлялся TAB1 и проверял наличие name, если его нет, опять обновлял и так в цикле. Если находит его, ест-но копирует, переходит на TAB2, вставляет и жмёт кнопку далее. |
InfSub > 26-06-2017 03:36:50 |
genstrijen скрытый текст 26-06-2017 03:38:53 udalov пишет
используйте EVENT Mode 26-06-2017 03:45:21 скрытый текст Выделить код Код:while(1){ iimPlayCode(` TAB T=1 REFRESH TAG POS=1 TYPE=DIV ATTR=CLASS:name EXTRACT=TXT `); if(iimGetExtract()!='#EANF#'){ iimPlayCode(` TAB T=1 TAB T=2 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT="'+iimGetExtract()+'" TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:nameForm ATTR=ID:add_name TAG POS=1 TYPE=A ATTR=ID:next TAB T=1 `); }; }; |
Gergi > 26-06-2017 08:29:15 |
Всем привет! скрытый текст |
InfSub > 26-06-2017 08:33:55 |
Gergi |
karginaolga > 26-06-2017 09:34:38 |
genstrijen |
Antor > 26-06-2017 11:52:36 |
InfSub, Спасибо, решил проверить на работе, но мне почему то такую ошибку бьёт ошибка Выделить код Код:Error: Variable !clipboard on line 6 is not compatible with Alertfox (Error code: -1001) Проверяю скрипт в Mozilla 54 |
InfSub > 26-06-2017 11:57:21 |
Antor |
Antor > 26-06-2017 12:13:49 |
InfSub, извиняюсь, исправил. Вот какая ошибка у меня сейчас и была изначально И в этот момент в Imacros, очень быстро меняясь, показывает, что активны команды скрытый текст код публикуется в тегах code под спойлером InfSub |
InfSub > 26-06-2017 12:33:12 |
Antor |
Antor > 26-06-2017 12:42:42 |
InfSub пишет
Спасибо огромное, заработало. |
InfSub > 26-06-2017 14:26:46 |
Antor 26-06-2017 14:27:42 |
karginaolga > 26-06-2017 16:49:00 |
genstrijen |
Squatter > 26-06-2017 17:30:41 |
genstrijen скрытый текст Выделить код Код:iimPlay("CODE:URL GOTO=urlname\n" + "ADD !EXTRACT {{!URLCURRENT}}\n" + "SAVEAS TYPE=EXTRACT FOLDER=C:\\FOLDERNAME FILE=URL.txt"); Читать http://wiki.imacros.net/URLCURRENT |
karginaolga > 26-06-2017 17:46:51 |
genstrijen скрытый текст Выделить код Код:var url = window.location; iimPlayCode ('SET !EXTRACT '+url+'\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=URL.txt'); |
Antor > 26-06-2017 22:29:32 |
InfSub, дома поверил скрипт, какой то баг. Он когда переходит на TAB2 то не вставляет скопированный текст, а вставляет: скрытый текст И сам скрипт в цикл уходит, он вставляет этот текст, а потом идёт опять на первую вкладку, "копирует", потом на вторую - вставляет '+iimGetExtract()+' и так по кругу. Помогите опять, пожалуйста. Imacros 8.9.7 |
karginaolga > 26-06-2017 22:40:10 |
Antor скрытый текст Выделить код Код:TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT=${iimGetExtract()} |
InfSub > 26-06-2017 22:43:40 |
Antor, karginaolga - да, сорри, ошибся, сначала в обычном варианте писал, потом для наглядности изменил код, а про ${iimGetExtract()} - забыл, спасибо karginaolga |
Antor > 26-06-2017 23:08:37 |
Если меняю эту скрытый текст Выделить код Код:TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT="'+iimGetExtract()+'" на эту TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT=${iimGetExtract()} он вообще не переходит на TAB2. Проверил ещё раз, как только появляется знак $ , он сразу перестаёт делать переход. И из цикла как вывести(запускаю без цикла в плагине)? |
InfSub > 26-06-2017 23:57:54 |
Antor |
Antor > 27-06-2017 00:01:13 |
Код Выделить код Код:while(1){ iimPlayCode(` TAB T=1 REFRESH TAG POS=1 TYPE=DIV ATTR=CLASS:name EXTRACT=TXT `); if(iimGetExtract()!='#EANF#'){ iimPlayCode(` TAB T=1 TAB T=2 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT=${iimGetExtract()} TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:nameForm ATTR=ID:add_name TAG POS=1 TYPE=A ATTR=ID:next TAB T=1 `); }; }; |
InfSub > 27-06-2017 00:05:16 |
Antor |
Antor > 27-06-2017 00:08:14 |
Одно слово, цифро-буквенное. |
InfSub > 27-06-2017 00:14:58 |
Antor скрытый текст Выделить код Код:TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT="${iimGetExtract()}" как говорится во избежание так же, рекомендовал бы еще раз проверить версию имакрос, если не отключить автообновление, то при перезапуске браузера она обновится на 9.0.3 как вариант, попробуйте версию FF ниже 45 проверил у себя, построив запрос по аналогии с вашим, все переключается с 1 вкладки на вторую, проблема может возникнуть именно на 2 вкладке, если код не будет найден, то скрипт на 2й вкладке так и останется, чтобы этого избежаеть, думаю, имеет смысл добавить в код для 2й вкладки строку скрытый текст в начале блока команд вот так: скрытый текст Выделить код Код:if(iimGetExtract()!='#EANF#'){ iimPlayCode(` SET !ERRORIGNORE YES TAB T=1 TAB T=2 .... 27-06-2017 00:21:01 Antor пишет
не ленитесь, прочитайте что такое циклы, в том числе о while()и о for() |
Antor > 27-06-2017 00:46:24 |
InfSub, всё так же не переключается на вторую вкладку, но: Вопрос, может ли из-за пробелов в копируемом слове в EXTRACT быть проблемы с этим кодом? Выделить код Код:TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT="${iimGetExtract()}" Не судите строго, в общем сделал вот так: скрытый текст Выделить код Код:while(1){ iimPlayCode(` TAB T=1 REFRESH TAG POS=1 TYPE=DIV ATTR=CLASS:name EXTRACT=TXT SET !CLIPBOARD {{!EXTRACT}} `); if(iimGetExtract()!='#EANF#'){ iimPlayCode(` TAB T=1 TAB T=2 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:nameForm ATTR=NAME:name CONTENT={{!CLIPBOARD}} TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:nameForm ATTR=ID:add_name TAG POS=1 TYPE=A ATTR=ID:next WAIT SECONDS=360 `); }; }; Но у меня остаётся проблема, как убрать непонятные пробелы? InfSub пишет
Дело не в лени, наверное надо потихоньку учить JS вообще. |
InfSub > 27-06-2017 09:33:39 |
Antor пишет
Именно скрытый текст |
InfSub > 27-06-2017 10:36:30 |
genstrijen |
karginaolga > 27-06-2017 11:14:32 |
genstrijen |
dim222 > 27-06-2017 12:47:41 |
Уважаемые! Не могу заставить .vbs запустить профиль что не так делаю? Выделить код Код:Dim WshShell set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run """D:\FF\App\Firefox\firefox4.exe" -no-remote -profile "D:\FF\Data\profile" "file:///D:/loader.html?m=1.js", 0, false WScript.Sleep 3000 Set WshShell=Nothing Выдает ошибку " Предполагается наличие окончания инструкции " |
karginaolga > 27-06-2017 18:19:02 |
genstrijen скрытый текст Выделить код Код:function batn() { var Cc = Components.classes, Ci = Components.interfaces, args = ['бла-бла', 'бла-бла', 'бла-бла', 'бла-бла']; var proc = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\system32\\cmd.exe"); proc.init(file); proc.run(false, args, args.length); } конкретно есть топик заказ скриптов |
karginaolga > 27-06-2017 18:50:44 |
genstrijen |
InfSub > 27-06-2017 23:21:04 |
genstrijen пишет
как выше написала karginaolga, гуглите или читайте справку к cmd.exe - передавать в cmd команду ping или любую другую, таким образом - бесполезно, получите только окно консоли скрытый текст 27-06-2017 23:38:20 dim222 пишет
потестил, правильный вариант, видимо таков: скрытый текст Выделить код Код:WshShell.Run "D:\FF\App\Firefox\firefox4.exe -no-remote -profile D:\FF\Data\profile file:///D:/loader.html?m=1.js", 0, false |
karginaolga > 28-06-2017 19:01:06 |
genstrijen |
dim222 > 28-06-2017 19:49:12 |
InfSub |
karginaolga > 28-06-2017 19:53:21 |
dim222 28-06-2017 19:59:27 скрытый текст Выделить код Код:/***-= Функция перемещения =-***/ function copy() { var Cc = Components.classes, Ci = Components.interfaces, args = ['/C', 'copy', ''+Path+'seosprint.png', ''+Path+'copy']; var proc = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\system32\\cmd.exe"); proc.init(file); proc.run(false, args, args.length); } |
dim222 > 28-06-2017 20:18:23 |
karginaolga пишет
Как? |
karginaolga > 28-06-2017 20:26:57 |
dim222 28-06-2017 20:32:27 |
karginaolga > 28-06-2017 20:56:11 |
genstrijen |
karginaolga > 28-06-2017 21:06:55 |
genstrijen скрытый текст устала я вас за поводок тянуть |
karginaolga > 28-06-2017 21:40:07 |
Удалено, оскорбление скрытый текст Выделить код Код:var url = 'https://forum.mozilla-russia.org'; dom(); function dom() { var Cc = Components.classes, Ci = Components.interfaces, args = ['/C', 'start', ''+url+'']; var proc = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\system32\\cmd.exe"); proc.init(file); proc.run(false, args, args.length); } InfSub |
genstrijen > 28-06-2017 22:44:08 |
karginaolga пишет
За помощь и подсказки, а так же за потраченное время, БЛАГОДАРЮ! и говорю СПАСИБО! |
karginaolga > 28-06-2017 23:05:12 |
genstrijen InfSub |
genstrijen > 28-06-2017 23:16:20 |
karginaolga 28-06-2017 23:22:01 InfSub |
Алим > 29-06-2017 14:20:27 |
С сохранением не извлекает, а без сохранения извлекает. скрытый текст Выделить код Код:// не извлекает с сохранением iimPlayCode('SET !EXTRACT лимон\n'+ 'SAVEAS TYPE=EXTRACT FOLDER=* FILE=файл.txt') извечь = iimGetLastExtract() alert(извечь) // извлекает без сохранения iimPlayCode('SET !EXTRACT апельсин') извечь = iimGetLastExtract() alert(извечь) |
InfSub > 29-06-2017 14:34:02 |
Алим |
Алим > 29-06-2017 14:45:03 |
InfSub спасибо за разъяснение. Помогите перевести этот код макроса в js скрытый текст Выделить код Код:SET !EXTRACT "https://www.facebook.com/groups/slizario/?ref=group_browse_new" SET !EXTRACT EVAL("'m.facebook.com/groups/{{!EXTRACT}}'.replace('?ref=group_browse_new','').replace('https://www.facebook.com/groups/','')") PROMPT {{!EXTRACT}} Удалить лишнее я могу, но вот как потом приписать скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки на внешние ресурсы - публикуется в тегах noindex под спойлером не могу понять InfSub |
InfSub > 29-06-2017 14:55:40 |
Алим скрытый текст Выделить код Код:SET !EXTRACT EVAL("'m.facebook.com/groups/{{!EXTRACT}}'.replace('?ref=group_browse_new','').replace('www','m')") |
dim222 > 29-06-2017 18:57:03 |
karginaolga пишет
Поиск в гугле результата не дал (может плохо искал). Единственное что нашел ,так это как запустить "notepad++" в трее, но с браузером не катит. Я так понимаю данная вами функция прописывается в самом vbs. Вот это тоже не могу заставить работать Свернуть все окна рабочего стола Windows |
karginaolga > 30-06-2017 08:12:04 |
dim222 скрытый текст Выделить код Код:var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow); mainWindow.minimize() //сворачиваем браузер mainWindow.onTitlebarMaxClick()//разворачиваем браузер добавлено в FAQ InfSub |
dim222 > 30-06-2017 14:21:35 |
karginaolga |
dim222 > 03-07-2017 07:49:21 |
Есть ли способы игнорировать диалоговое окно , как описанное здесь? |
Зебра > 03-07-2017 14:14:31 |
скрытый текст |
InfSub > 03-07-2017 15:03:30 |
Зебра |
Зебра > 03-07-2017 18:31:34 |
скрытый текст |
InfSub > 04-07-2017 03:20:28 |
Зебра пишет
Наверное, вы не единственная тут, кто столкнулся с данной проблемой, так что поиск по форуму, как говорится, в помощь. 04-07-2017 03:25:38 Зебра пишет
И - да, это особенность работы iMacros с js скриптами, но особенность более поздних версий iMacros, а не версии 7.3.0.0, которая устанавливается на FF 3.6.6. |
Squatter > 04-07-2017 08:19:21 |
Кстати, а существует ли рабочий вариант полной очистки истории в мозиле через js? CLEAR вообще не заметил. скрытый текст Но как enter нажать в этой же команде? Честно погуглил англоязычные форумы – решения так и не встретил. |
InfSub > 04-07-2017 08:53:28 |
Squatter Команда CLEAR только очищает куки и то не все |
iMacroz > 04-07-2017 15:46:40 |
Подскажите почему перестало извлекать? скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE data.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); login = iimGetExtract(); Ошибка:
код публикуется в тегах code внутри спойлера Firefox 54.0.1 InfSub |
InfSub > 04-07-2017 17:07:35 |
iMacroz пишет
Поставьте 8.9.7 |
iMacroz > 04-07-2017 17:17:24 |
И действительно, помогло. Спасибо! |
kaizersin > 05-07-2017 06:28:20 |
Привет, скажите возможно ли с помощью аймакроса сделать так, есть на компе папка с файлами, нужно взять поочередно по одному файлу и загрузить их на сайт, при этом удалить с папки файл после того как загрузился он на сайт? |
InfSub > 05-07-2017 08:03:31 |
kaizersin |
kaizersin > 05-07-2017 16:31:00 |
InfSub пишет
Не со всем понял про "подготовить в ручную", просто добавить файлы в папку? или в ручную их грузить? |
Зебра > 05-07-2017 17:58:16 |
скрытый текст |
kaizersin > 06-07-2017 19:55:07 |
А как вытащить кусок текста(всегда разный), пробовал getElementsByClassName, но он за собой еще пару слов не нужных тащит, можно как-то обрезать? |
Алим > 07-07-2017 01:34:01 |
А как сделать так, что если условие не верное, чтобы скрипт считывал loop--, а если верное не считывал? скрытый текст Выделить код Код:var loop = 1 for(i=0;i<10;i++){ iimPlayCode('TAG POS='+loop+' TYPE=* ATTR=*:*') if(iimPlayCode('*')>0){ // не считывает минус }else{ // считывает минус loop-- } } |
Log1n > 07-07-2017 09:49:30 |
Всем привет . скрытый текст Выделить код Код:TAB CLOSEALLOTHERS SET !ERRORIGNORE YES SET !ENCRYPTION NO URL GOTO=http://site.ru/ ONLOGIN USER=admin PASSWORD=adm Нужно что бы из файла url бралась строка и вставлялась сюда URL GOTO={{!COL1}} грубо говоря Из файла Login - USER= {{!COL2}} Из файла Pass - PASSWORD= {{!COL3}} Как это реализовать ? в базе много строк , и чтобы по очереди из каждого файла была выборка |
dim222 > 07-07-2017 17:23:49 |
Log1n 07-07-2017 17:34:49 Данный .vbs нажимает на клавиатуре клавишу . Уверен что это не возможно,но все-таки Возможно ли с помощью js передать наименование клавиши? |
Log1n > 07-07-2017 19:19:29 |
dim222 пишет
Там работа с прокси и js ,а у меня работа с текстом |
Anynak > 08-07-2017 01:31:30 |
Всем привет. Кто нибудь пробовал входить в аккаунты при помощи подмены значений в куках? Интересно, возможно ли это средствами js? Мог бы получиться довольно изящный способ логиниться |
InfSub > 08-07-2017 13:11:07 |
Log1n пишет
http://wiki.imacros.net/!DATASOURCE Log1n пишет
08-07-2017 13:19:35 Anynak пишет
скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
bober > 17-07-2017 17:44:01 |
А куда пропал koks? Можно ли с ним связаться? |
InfSub > 17-07-2017 18:49:59 |
bober |
dim222 > 21-07-2017 19:29:47 |
При использовании скрипта.js не обрабатывается.В чем может быть проблема? на дисплее отображается это Error: unsafe CPOW usage forbidden, line 1 (Error code: -991) "небезопасное использование запрещено". Как исправить? Браузер последний, Imacros 8.9.7 |
InfSub > 21-07-2017 22:35:45 |
dim222 |
Журавлёва > 29-07-2017 17:23:10 |
Подскажите, в какую сторону копать, чтобы макросом выделить заданное слово на странице? |
Meldo > 29-07-2017 18:10:26 |
JavaScript. |
Журавлёва > 29-07-2017 18:22:33 |
Пример можно? |
nikolay1987 > 29-07-2017 20:43:51 |
Журавлёва скрытый текст Выделить код Код:var textToFind = "пипка" content.document.body.innerHTML = content.document.body.innerHTML.replace(eval("/"+textToFind+"/gi"),"<a name="+textToFind+" style='background:red'>"+textToFind+"</a>"); |
Журавлёва > 29-07-2017 22:05:07 |
nikolay1987, спасибо, решено. |
Журавлёва > 30-07-2017 21:19:38 |
nikolay1987, а не могли бы вы так переделать этот код, чтобы в нём не было EVAL, а то, кое-где на него ругань идёт. |
Зебра > 02-08-2017 02:36:55 |
Здравствуйте! Подскажите пожалуйста тему или ответ как с помощью аймакроса сохранять куки и потом с ними оперировать? Например: чтобы при входе в аккаунт не вводить каждый раз логин и пароль, просто куки нужные в нужное поле браузера вводим с помощью аймакроса и всё. |
Hamzat > 02-08-2017 10:58:58 |
Зебра скрытый текст Выделить код Код:setCookie: function(cookies) { imJS.Cu.import("resource://gre/modules/Services.jsm"); for (var i = 0; i < cookies.length; i++) { Services.cookies.add(cookies[i].host, cookies[i].path, cookies[i].name, cookies[i].value, cookies[i].isSecure, cookies[i].isHttpOnly, cookies[i].isSession, cookies[i].expiry); }; }, getCookie: function(domain) { imJS.Cu.import("resource://gre/modules/Services.jsm") var services = Services.cookies.getCookiesFromHost(domain); var listCookies = []; while (services.hasMoreElements()) { var cookie = services.getNext().QueryInterface(imJS.Ci.nsICookie2); listCookies.push(cookie); }; return listCookies; }, InfSub |
Зебра > 02-08-2017 11:28:52 |
Hamzat спасибо! |
Зебра > 02-08-2017 19:10:00 |
Hamzat аймакрос ругается на то как тут записано и в конце там запятая зачем-то поставлена. Это так надо? да? Но так оно ошибку даёт и ничего не работает. А вот если убрать запятую вконце и внчале записать по другому, более привычному, то есть убрать из скобок слово domain записать его перед скобками, а скобки оставить пустыми, то вроеде никакой ошибки не возникает и аймакрос не ругается: а так Не ругается аймакрос комментарий к спойлеру пишется в открывающем теге, а не в закрывающем Так вот я и хочу узнать, а в чем тут прикол? Или код изначально вылален неправильно записаный, или может тут есть ещё варианты записи, когда запятые в конце применяются и начало функции тоже по другому записывается? Если так, то почему аймакрос ругается на такой вариант записи? за удаление комментариев модератора, в следующий раз - будет бан - как за саботаж InfSub |
InfSub > 02-08-2017 19:22:09 |
Зебра пишет
данный код выдран из контекста какого-то объекта, по этому и имеет такую запись |
Hamzat > 03-08-2017 17:28:31 |
Зебра
Как верно подметил модератор, код вырван из объекта, если вы не разбираетесь в этом, то мне кажется вам рано соваться в такие вещи, лучше изучите немного основы JS. скрытый текст Выделить код Код:var imJS = { get Ci() { return Components.interfaces; }, get Cu() { return Components.utils; }, setCookie: function setCookie(cookies) { this.Cu.import("resource://gre/modules/Services.jsm"); for (var i = 0; i < cookies.length; i++) { Services.cookies.add(cookies[i].host, cookies[i].path, cookies[i].name, cookies[i].value, cookies[i].isSecure, cookies[i].isHttpOnly, cookies[i].isSession, cookies[i].expiry); }; }, getCookie: function(domain) { this.Cu.import("resource://gre/modules/Services.jsm") var services = Services.cookies.getCookiesFromHost(domain); var listCookies = []; while (services.hasMoreElements()) { var cookie = services.getNext().QueryInterface(this.Ci.nsICookie2); listCookies.push(cookie); }; return listCookies; }, } // Использвоние imJS.getCookie('vk.com'); // Получаем куки и сохраняем в json файл или как удобно на диск // В следущем заходе берем куки с диска, переводите в массив JSON.parse() imJS.setCookie(cookies /* Передаем массив кукис */ ) спасибо, добавлено в FAQ InfSub |
Журавлёва > 03-08-2017 19:47:08 |
В аймакросе есть команда "пауза", когда макрос останавливается и ждёт команды для продолжения работы. |
nikolay1987 > 07-08-2017 12:06:37 |
Здравствуйте, столкнулся с проблемой: |
InfSub > 07-08-2017 12:11:33 |
nikolay1987 |
nikolay1987 > 07-08-2017 12:27:09 |
InfSub |
InfSub > 07-08-2017 12:32:12 |
nikolay1987 |
nikolay1987 > 07-08-2017 12:38:38 |
InfSub Раздуплился.... |
karginaolga > 08-08-2017 09:20:21 |
nikolay1987 скрытый текст Выделить код Код:window.addEventListener('click', function(e) { alert('screen: ' + e.screenX + 'x' + e.screenY + '\npage: ' + e.pageX + 'x' + e.pageY + '\nclient: ' + e.clientX + 'x' + e.clientY); }, false); |
nikolay1987 > 08-08-2017 17:58:53 |
InfSub |
Gergi > 10-08-2017 22:07:08 |
В общем пару часов уже бьюсь головой об стену и не понимаю почему этот код не работает скрытый текст Выделить код Код:for(i=1; i<=1; i++){ iimPlayCode('SET !DATASOURCE D:\\test.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); r=iimGetExtract(); alert(r) } Выдаёт эту ошибку и всё скрытый текст Выделить код Код:NS_ERROR_FILE_UNRECOGNIZED_PATH: Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath], line 1 (Error code: -1001) 10-08-2017 22:10:29 |
Gergi > 11-08-2017 08:11:57 |
удалено, сообщение типа UP InfSub |
InfSub > 11-08-2017 08:16:06 |
Gergi |
Gergi > 11-08-2017 10:30:02 |
Версия браузера 24.0 версия макроса 8.8.2 |
InfSub > 11-08-2017 12:18:23 |
Gergi |
Gergi > 11-08-2017 13:24:42 |
Пробовал,но на 24й мазиле становиться только версия 8.8.7 и ниже |
Goodjobmfk > 26-08-2017 19:48:22 |
скрытый текст Выделить код Код:function() { if (parseFloat(this[_0x3cee[9]]) > _0x485ax101[_0x3cee[2266]]) { this[_0x3cee[9]] = _0x485ax101[_0x3cee[2266]] }; var _0x485ax17 = this[_0x3cee[9]]; if (_0x485ax101[_0x3cee[2269]]) { _0x485ax17 = _0x485ax416(_0x485ax17, _0x485ax101[_0x3cee[2266]]) }; _0x485ax414[_0x3cee[1771]][_0x3cee[1765]]([null, _0x485ax17]); Проблема в том что если набираешь число вручную то сайт автоматически без enter принимает его (число), однако когда пытаешься съэмитировать нажатие на клавиши клавы то сайт вообще никак не воспринимает вводимый текст. Умоляю Вас помочь мне (уже хоть на стенку лезь-ничего не выходит) |
karginaolga > 26-08-2017 20:39:49 |
Goodjobmfk |
Goodjobmfk > 26-08-2017 23:02:08 |
karginaolga Можете пожалуйста пояснить что Вы имели в виду когда сказали что просьба моя ни о чем. А вот сайт где проблема возникла: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
kaizersin > 27-08-2017 05:30:34 |
Привет народ, как можно сделать сымитировать действия? я делаю только скрол, задержку ну и клавишу там стереть, еще что-то можно? |
udalov > 27-08-2017 07:09:55 |
kaizersin, можно клики по координатам в пустые места делать, файлы сохранять, по ссылкам вперёд\назад переходить. Сложно что-то советовать, не зная цели. |
kaizersin > 27-08-2017 09:58:47 |
udalov InfSub |
Goodjobmfk > 28-08-2017 07:27:36 |
Мне вообще стоит ждать какую-либо помощь? Просто такое ощущение возникает, что про мою проблему все благополучно забыли. |
Meldon > 28-08-2017 09:08:39 |
Goodjobmfk Причем писал еще двое суток тому назад. Видимо, решение этой проблемы не особо-то и нужно. InfSub |
Goodjobmfk > 28-08-2017 14:16:33 |
Meldon пишет
Извиняюсь! Не проверял почту(даже не подумал что кто то напишет мне туда). Meldon пишет
Решение нужно очень!!! |
Goodjobmfk > 28-08-2017 15:40:32 |
Проблема всё ещё открыта. Надеюсь что кто нибудь поможет. |
userundefined > 29-08-2017 13:45:39 |
Подскажите, можно ли как-нибудь в imacros настроить игнорирование alert сообщений? |
Meldon > 29-08-2017 15:44:42 |
userundefined пишет
В iMacros, можно. В начале скрипта стоит прописать: скрытый текст |
InfSub > 29-08-2017 16:00:48 |
Meldon пишет
вообще, на сколько я помню, не в начале скрипта, а перед тем кодом, который вызывает alert окно |
Meldon > 29-08-2017 16:07:04 |
InfSub |
InfSub > 29-08-2017 16:08:08 |
Meldon |
Meldon > 29-08-2017 16:15:32 |
отнюдь, написав в начале цельного скрипта, макрос запомнит эту команду до конца сценария. |
InfSub > 29-08-2017 16:22:11 |
Meldon |
userundefined > 30-08-2017 02:08:12 |
Meldon, спасибо за ответ, попробую. |
lexussii > 04-09-2017 01:13:05 |
Здравствуйте. Подскажите, если кто в курсе. Второй день не могу найти и уже смог обойтись без этого, но все же очень интересует - как можно отобрать ссылки, которые НЕ содержат какого либо слова? Ну и одновременно содержат одно слово и при этом не содержат другого? Например, если нужны только ссылки в которых есть слово "stat", но при этом нет слова "gray"? |
Meldon > 04-09-2017 05:16:08 |
lexussii пишет
Есть несколько вариантов, например: скрытый текст Выделить код Код:var _true = new RegExp('stat'), _false = new RegExp('gray'); if(_true.test(link) && !(_false.test(link))){ } link - ссылка. По аналогии можно сделать через indexOf и search. |
karginaolga > 04-09-2017 13:16:11 |
Meldon |
Meldon > 04-09-2017 13:22:31 |
karginaolga пишет
Что ты несешь, какие массивы? |
InfSub > 04-09-2017 13:23:28 |
Meldon |
karginaolga > 04-09-2017 18:40:36 |
InfSub спасибо скрытый текст |
Ingrid > 14-09-2017 01:56:45 |
Здравствуйте. Помогите разобраться с проблемой. Есть кнопка, при клике по которой постоянно меняется номер позиции. Перебрала циклом, но при первом номере POS=1 происходит клик по кнопке и страница перезагружается, соответственно меняется и POS. Вот код: скрытый текст Выделить код Код:for (z=0;z<=15;z++){ iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS='+z+' TYPE=INPUT:BUTTON ATTR=NAME:claim_coins');} Можно это как-нибудь побороть? |
Tryinfinity > 15-09-2017 23:50:51 |
Доброго дня! Есть ли возможность в imacros или средствами js подгружать функции из отдельного файла? upd: скрытый текст Выделить код Код:function myRequire(url) { var ajax = new XMLHttpRequest(); ajax.open('GET', url, false ); ajax.onreadystatechange = function () { var script = ajax.response || ajax.responseText; eval.apply( window, [script] ); }; ajax.send(null); } код публикуется в тегах code под спойлером второе замечание InfSub |
dim222 > 22-09-2017 18:21:14 |
Господа! Подскажите, как полностью дублировать 1 вкладку во 2-ю. Ctrl+t открывает пустую новую вкладку. |
InfSub > 22-09-2017 19:18:45 |
dim222 > 23-09-2017 19:44:19 |
InfSub |
InfSub > 24-09-2017 17:01:43 |
dim222 |
dim222 > 28-09-2017 17:58:52 |
Подскажите пожалуйста как брать в цикле еще одно значение вместе с предыдущим. скрытый текст Выделить код Код:var q=['1','2','3','4','5','6']; как в цикле вывести сначала 1 потом 1,2 далее 1,2,3 и т.д. до "весь массив" |
InfSub > 28-09-2017 18:33:04 |
dim222 28-09-2017 18:39:00 как-то так, например: Выделить код Код:var q=['1','2','3','4','5','6'],i,j='',k=''; for(i=0;i<count(q);i++){ if(i > 0 && i<(count(q)-1)){ j=q[i+1]; if(i > 1){ k=q[i-1]; }; }; }; |
dim222 > 28-09-2017 19:02:59 |
InfSub |
dvomaks > 28-09-2017 19:13:31 |
dim222 пишет
Ещё вариант скрытый текст Выделить код Код:var arr = ['1','2','3','4','5','6']; for (var i = 0; i < arr.length; i++){ var stroka = '' for (var j = 0; j<=i; j++){ stroka += (arr[j]+',') } console.log(stroka); } |
dim222 > 28-09-2017 19:14:58 |
dvomaks |
kaizersin > 30-09-2017 03:16:05 |
Привет, не подскажите как выдрать от сюда название города (Tampa) в буфер? скрытый текст Выделить код Код:URL GOTO=https://whoer.net/ TAG POS=1 TYPE=SPAN ATTR=TXT:United<SP>States<SP>(US) TAG POS=1 TYPE=SPAN ATTR=TXT:Florida<SP>(FL) TAG POS=1 TYPE=SPAN ATTR=TXT:Tampa Из-за того что там более одного раза встречается "TAG POS=1", не получается скопировать. |
karginaolga > 30-09-2017 07:28:05 |
kaizersin скрытый текст Выделить код Код:var gorod = window.document.querySelectorAll('div.item dl.myip-list dd span.cont')[2].textContent; alert(gorod); |
kaizersin > 30-09-2017 20:50:08 |
karginaolga Спасибо InfSub |
konvkosmose > 01-10-2017 19:21:54 |
Добрейший вечер (p.s форма - это одна строка ввода, консоль сервера. Мне нужно много раз выполнить в ней команду с никами пользователей из файла.) P.S2 разобрался примерно как писать в консольке макросом, теперь понять, как бы в аргументе CONTENT подставлять ники. А если еще и получится вместе с командой, то вообще круто. Типа CONTENT = "/set player" + VAR + "clear". И так перебрать весь "players.txt". Там около 30 000 ников. |
FastSpeed > 03-10-2017 16:13:36 |
Ребята, вопрос. После отключение настройки: Выделить код Код:Отключаем возможность сайтов хранить некоторые настройки dom.storage.enabled = false Половина кранов сразу перестают работать, ибо походу это какие скрытые логи по которым собственно наверно и банят. Вопрос как найти и почистить эти настройки? Вопрос гуглил, говорят, что все лежит здесь Firefox\App\DefaultData\profiles\мой профиль\cache2\doomed, но папка пустая |
InfSub > 03-10-2017 16:38:37 |
FastSpeed |
karginaolga > 03-10-2017 17:04:54 |
это отключение хтмл5, не лезте если не знаете, потом будите спрашивать как вернуть все назад |
dim222 > 09-10-2017 14:52:39 |
Уважаемые! как правильно в .bat передать переменную? так не получается Выделить код Код:var Cc=Components.classes, Ci=Components.interfaces, args=['SET', 'pathToImage=D:\BOTS\CAPTCHA\1.png']; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath('D:\\BOTS\\CAPTCHA\\test.bat'); proc.init(file); proc.run(false, args, args.length); iimPlayCode('WAIT SECONDS=1'); |
stanny > 09-10-2017 19:15:12 |
как текст из переменной imacros передать в JS и потом обратно в imacros ?? пример Выделить код Код:var macro; macro = "CODE:"; macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:admin ATTR=NAME:name EXTRACT=TXT" + "\n"; iimPlay(macro) var b = iimGetExtract(1) iimSet("VAR1",b) iimPlayCode("PROMPT Извлеченный<sp>текст<sp>{{!VAR1}}\n PROMPT Извлеченный<sp>текст<sp>"+b+"\n") var1 выводит правильно, а переменную b только до пробела, т.е если извлечено 111 все выводит правильно, если извлечено 111 222 var выводит правильно, а b выводит 111 и поле для ввода. |
InfSub > 09-10-2017 21:59:08 |
stanny prompt принимает два значения: 09-10-2017 22:05:23 |
stanny > 09-10-2017 22:55:29 |
InfSub пишет
я это знаю, но в таком виде вообще пишет ошибку, из за того что код в iimplay кавычках, любые другие кавычки кроме "+b+" ломают весь код и выдает ошибку в вики и фак ничего нету про переменные из imacros в js и обратно, кроме iimset, но хочется переменную напрямую передавать, без пробелов все передается, с пробелами нет скрытый текст Выделить код Код:так не работает iimPlayCode("PROMPT "Извлеченный текст"+b+"\n"); и так тоже iimPlayCode("PROMPT "Извлеченный текст""+b+"\n"); З.Ы. получилось так, но двойные кавычки почти везде поменял на одинарные скрытый текст |
InfSub > 10-10-2017 04:28:18 |
stanny пишет
читайте - что такое экранирование спец. символов |
stanny > 10-10-2017 15:41:32 |
InfSub пишет
в вики по js функционалу кроме iim... ничего нету. Родные переменные из imacros и js переменные записываются по разному, так что синтаксис тут разный. Вот пример из вики, PROMPT Extracted<SP>data:{{!EXTRACT}}, по нему логично предположить что в js это будет выглядеть как iimPlayCode('PROMPT Extracted<SP>data:'+a+'\n'); но это не так из за того что !EXTRACT по видимому сам подставляет <sp>, а после переноса в JS переменную и обратно он уже идет как простой текст с пробелами. З.Ы. кстати может есть какой-то костыль чтобы извлекать var'ы, без того чтобы их загонять в экстракт и потом вытаскивать через iimGetExtract ( что при нескольких переменных работает не корректно )?? может какой-то iimGetVar0......imGetVar9 придумали ?? |
InfSub > 10-10-2017 16:16:02 |
stanny пишет
ок, тогда по вашему - логично предположить что запись вида: скрытый текст не будет ошибочной, тем не менее - это не так и будет ошибка синтаксиса из-за того что присутствует пробел давайте не будем обвинять всех и вся в том, что вы не знаете синтаксиса языка iMacros мне, извините, лениво сейчас перерывать вики, но поверьте, я имакросом занимаюсь около 3 лет и 90% знаний о нем почерпнуто из вики, в том числе и синтаксис и методы взаимодействия с js stanny пишет
нету, у всех все работает нормально при понимании принципов работы iMacros вообще и в связке с js в частности stanny пишет
опять голословные рассуждения, что именно у вас работает не корректно? примеры где? или вам скучно и поговорить не с кем? 10-10-2017 16:22:13 stanny пишет
впрочем - есть, можно с помощью js без iMacros'a вытащить данные - вот только это не всегда - удобно делать с помощью js 10-10-2017 16:25:47 10-10-2017 16:30:24 Получение любой информации со страницы при помощи Javascript Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
stanny > 10-10-2017 16:41:34 |
InfSub пишет
ну а при чем тут извлеченный текст и присвоенный текст, в сет конечно текст надо в кавычках, а экстракту пофиг на кавычки он и без кавычек выводит все правильно с пробелами InfSub пишет
ваш пост https://forum.mozilla-russia.org/viewto … 72#p695672 у меня уже все работает как надо, только пришлось прописать чтобы каждый экстракт из 4 проверяло чтобы не был null, функционалу от этого только лучше стало, чтобы не было не заполненных полей |
InfSub > 10-10-2017 16:47:56 |
stanny stanny пишет
пример из любого другого языка программирования, например из того же js переменная = 'значение'
10-10-2017 16:51:02 stanny пишет
да, и там описано как этого избежать: InfSub пишет
10-10-2017 16:53:31 |
stanny > 10-10-2017 16:58:57 |
нагородил тут короче, цикл в цикле, с кучей проверок на null, проставил iimset, чтобы кавычки везде не переделывать колхозстайл Выделить код Код:for (a=1;a<=1;a++){ iimPlayCode("TAG POS="+a+" TYPE=IMG ATTR=SRC:https://www.........*\n TAG POS=1 TYPE=A ATTR=TXT:Атрибут\n"); for (i=1;1<2;i++){ iimSet("VAR0",i) var macro; macro = "CODE:"; macro += "TAG POS={{!var0}} TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=NAME:attr_ean[] EXTRACT=TXT" + "\n"; iimPlay(macro) var zapros = iimGetLastExtract(1) if(zapros!=null & zapros!='#EANF#'){ iimSet("VAR1",zapros) iimSet("VAR0",i) iimPlayCode("SET !ERRORIGNORE YES\n TAB T=2\n FRAME NAME=frSheet\n TAG POS=1 TYPE=TD ATTR=TXT:{{!var1}}\n TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n TAB T=1\n"); var zapros1 = iimGetLastExtract(1) if(zapros1!=null & zapros1!='#EANF#'){ iimSet("VAR2", zapros1) iimSet("VAR0",i) iimPlayCode("TAG POS={{!var0}} TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=NAME:attrib_price[] CONTENT={{!var2}}\n SET !EXTRACT NULL\n"); } else { iimPlayCode('Prompt "Нет цены для атрибута '+zapros+'"\n SET !EXTRACT NULL\n'); } iimDisplay('Прошли атрибутов: '+ (i)) } else { iimPlayCode("SET !ERRORIGNORE YES\n TAG POS=1 TYPE=A ATTR=TXT:Информация<SP>о<SP>товаре\n TAG POS=1 TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=ID:product_ean EXTRACT=TXT\n"); var zapros2 = iimGetLastExtract(1) if(zapros2!=null){ iimSet("VAR3", zapros2) iimPlayCode("SET !ERRORIGNORE YES\n TAB T=2\n FRAME NAME=frSheet\n TAG POS=1 TYPE=TD ATTR=TXT:{{!var3}}\n TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n TAB T=1\n"); var zapros3 = iimGetLastExtract(1) if(zapros3!='#EANF#'){ iimSet("VAR4", zapros3) iimPlayCode("TAG POS=1 TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=ID:product_price CONTENT={{!var4}}\n"); } else { iimPlayCode('PROMPT "Нет цены для атрибута '+zapros2+'"\n') } } else { iimPlayCode("PROMPT Нет<sp>атрибута\n"); } iimDisplay("Пройдено "+i+" атрибутов"); break } } iimPlayCode("PROMPT Продолжить<sp>если<sp>все<sp>правильно\n PAUSE\n TAG POS=1 TYPE=BUTTON ATTR=TXT:Сохранить<SP>и<SP>закрыть\n"); } все зло в кавычках 10-10-2017 17:01:07 InfSub пишет
вот именно что экстракты бывают пустые и я прописал чтобы выскочил промт, что нужно заполнить вручную |
InfSub > 10-10-2017 17:09:56 |
stanny скрытый текст Выделить код Код:var zapros = iimGetLastExtract(); iimPlayCode("TAG POS=1 TYPE=TD ATTR=TXT:\""+zapros+"\"\n TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT") 10-10-2017 17:11:56 stanny пишет
что мешает сделать prompt на js? скрытый текст |
stanny > 10-10-2017 17:28:39 |
InfSub пишет
а какая разница ? нужный функционал выполняет, и так сойдет |
InfSub > 10-10-2017 17:40:06 |
stanny |
Aikyaira > 12-10-2017 18:16:42 |
Добрый день, уважаемые форумчане! скрытый текст Выделить код Код:<table role="presentation" id="gridview-1256-table" class="x-gridview-1256-table x-grid-table x-grid-with-col-lines x-grid-with-row-lines" style="width: 880px;" tabindex="-1" cellspacing="0" cellpadding="0" border="0"> <colgroup><col class="x-grid-cell-gridcolumn-1248" style="width:126px"></colgroup> <colgroup><col class="x-grid-cell-gridcolumn-1249" style="width:126px"></colgroup> <colgroup><col class="x-grid-cell-datecolumn-1250" style="width:126px"></colgroup> <colgroup><col class="x-grid-cell-gridcolumn-1251" style="width:125px"></colgroup> <colgroup><col class="x-grid-cell-gridcolumn-1252" style="width:126px"></colgroup> <colgroup><col class="x-grid-cell-gridcolumn-1253" style="width:126px"></colgroup> <colgroup><col class="x-grid-cell-textActionColumn-1254" style="width:125px"></colgroup> <tbody id="gridview-1256-body"> <tr role="row" id="gridview-1256-record-14400958" data-boundview="gridview-1256" data-recordid="14400958" data-recordindex="0" class="x-grid-row x-grid-data-row x-grid-row-before-selected x-grid-row-before-focused" tabindex="-1"> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1248 x-grid-cell-first " id="ext-gen1896"> <div class="x-grid-cell-inner " style="text-align:center;">Водоотведение</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1249 " id="ext-gen1897"> <div class="x-grid-cell-inner " style="text-align:center;">Предоставляется</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-datecolumn-1250 " id="ext-gen1898"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1251 " id="ext-gen1899"> <div class="x-grid-cell-inner " style="text-align:center;">куб.м</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1252 " id="ext-gen1900"> <div class="x-grid-cell-inner " style="text-align:center;">8545.08</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1253 " id="ext-gen1901"> <div class="x-grid-cell-inner " style="text-align:center;">215763.21</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-textActionColumn-1254 x-grid-cell-last x-text-action-col-cell" id="ext-gen1902"> <div class="x-grid-cell-inner x-grid-cell-inner-text-action-col" style="text-align:center;"> <a href="javascript:void(0);" style="margin:0 4px;color:-webkit-link;" title="Редактировать данные по услуге" class="x-action-text x-action-col-0 ">Открыть</a> </div> </td> </tr> <tr role="row" id="gridview-1256-record-14400955" data-boundview="gridview-1256" data-recordid="14400955" data-recordindex="1" class="x-grid-row x-grid-row-alt x-grid-data-row x-grid-row-selected x-grid-row-focused" tabindex="-1"> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1248 x-grid-cell-first " id="ext-gen1903"> <div class="x-grid-cell-inner " style="text-align:center;">Горячее водоснабжение</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1249 " id="ext-gen1904"> <div class="x-grid-cell-inner " style="text-align:center;">Предоставляется</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-datecolumn-1250 " id="ext-gen1905"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1251 " id="ext-gen1906"> <div class="x-grid-cell-inner " style="text-align:center;">Гкал/куб.м</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1252 " id="ext-gen1907"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1253 " id="ext-gen1908"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-textActionColumn-1254 x-grid-cell-last x-text-action-col-cell" id="ext-gen1909"> <div class="x-grid-cell-inner x-grid-cell-inner-text-action-col" style="text-align:center;"> <a href="javascript:void(0);" style="margin:0 4px;color:-webkit-link;" title="Редактировать данные по услуге" class="x-action-text x-action-col-0 ">Открыть</a> </div> </td> </tr> <tr role="row" id="gridview-1256-record-14400962" data-boundview="gridview-1256" data-recordid="14400962" data-recordindex="2" class="x-grid-row x-grid-data-row" tabindex="-1"> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1248 x-grid-cell-first " id="ext-gen1910"> <div class="x-grid-cell-inner " style="text-align:center;">Отопление</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1249 " id="ext-gen1911"> <div class="x-grid-cell-inner " style="text-align:center;">Предоставляется</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-datecolumn-1250 " id="ext-gen1912"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1251 " id="ext-gen1913"> <div class="x-grid-cell-inner " style="text-align:center;">Гкал</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1252 " id="ext-gen1914"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1253 " id="ext-gen1915"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-textActionColumn-1254 x-grid-cell-last x-text-action-col-cell" id="ext-gen1916"> <div class="x-grid-cell-inner x-grid-cell-inner-text-action-col" style="text-align:center;"> <a href="javascript:void(0);" style="margin:0 4px;color:-webkit-link;" title="Редактировать данные по услуге" class="x-action-text x-action-col-0 ">Открыть</a> </div> </td> </tr> <tr role="row" id="gridview-1256-record-14400960" data-boundview="gridview-1256" data-recordid="14400960" data-recordindex="3" class="x-grid-row x-grid-row-alt x-grid-data-row" tabindex="-1"> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1248 x-grid-cell-first " id="ext-gen1917"> <div class="x-grid-cell-inner " style="text-align:center;">Холодное водоснабжение</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1249 " id="ext-gen1918"> <div class="x-grid-cell-inner " style="text-align:center;">Предоставляется</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-datecolumn-1250 " id="ext-gen1919"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1251 " id="ext-gen1920"> <div class="x-grid-cell-inner " style="text-align:center;">куб.м</div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1252 " id="ext-gen1921"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-gridcolumn-1253 " id="ext-gen1922"> <div class="x-grid-cell-inner " style="text-align:center;"> </div> </td> <td role="gridcell" class="x-grid-cell x-grid-td x-grid-cell-textActionColumn-1254 x-grid-cell-last x-text-action-col-cell" id="ext-gen1923"> <div class="x-grid-cell-inner x-grid-cell-inner-text-action-col" style="text-align:center;"> <a href="javascript:void(0);" style="margin:0 4px;color:-webkit-link;" title="Редактировать данные по услуге" class="x-action-text x-action-col-0 ">Открыть</a> </div> </td> </tr> </tbody> </table> Задача такая: c применением JS и IMacros найти перебором <tr>, в котором есть элемент <div> с текстом "Холодное водоснабжение" и получить его индекс, затем нужно кликнуть по ссылке, находящейся в том же <tr>. Задача с индексом решена таким путем: скрытый текст Выделить код Код:function rowIndex (trs, content) { for (var i = 0, l = trs.length; i < l; i++) { if (trs[i].textContent.match(content)) return i; } } var trs = window.document.querySelectorAll('tr'); var itr = rowIndex(trs, "Холодное водоснабжение"); Вопрос: как теперь кликнуть по ссылке, находящейся в том же <tr>? |
stanny > 12-10-2017 19:35:04 |
Aikyaira скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV ATTR=Class:x-grid-cell-inner*&&TXT:Холодное<sp>водоснабжение TAG POS=R1 TYPE=A ATTR=HREF:javascript:void(0) код публикуется в тегах code под спойлером InfSub |
Aikyaira > 12-10-2017 19:54:36 |
stanny Не находит такой элемент. InfSub |
stanny > 12-10-2017 20:16:08 |
Aikyaira так у меня сработало, видимо в хрефе imacros только ссылки понимает скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV ATTR=TXT:Холодное<SP>водоснабжение TAG POS=r1 TYPE=A ATTR=TXT:Открыть код публикуется в тегах code под спойлером замечание InfSub |
Aikyaira > 12-10-2017 20:18:23 |
stanny InfSub |
stanny > 12-10-2017 20:31:59 |
stanny пишет
а нет )), первый вариант тоже рабочий, я просто точку с запятой в конце не дописал javascript:void(0); |
Aikyaira > 13-10-2017 16:35:15 |
Можно ли присвоить значение колонки файла, который !Datasource, переменной js? скрытый текст И как правильно это сделать? |
InfSub > 13-10-2017 17:04:21 |
Aikyaira скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE ..... \nSET !EXTRACT {{!COL27}}'); var otoplen = iimGetLastExtract(); |
Gergi > 14-10-2017 12:19:50 |
Всем привет Делаю вот так не получается скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE C:\\1.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); f1r=iimGetExtract().replace('-',','); alert(f1r); |
nikolay1987 > 14-10-2017 12:57:55 |
Gergi скрытый текст |
Gergi > 14-10-2017 15:11:11 |
nikolay1987 |
Aikyaira > 16-10-2017 13:35:37 |
Добрый день! скрытый текст Выделить код Код:for (i = 8; i < 9; i++) { macroobsh += "CODE:" + "\n"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "TAG POS=1 TYPE=SPAN ATTR=TXT:Объемы<SP>по<SP>коммунальным<SP>услугам" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Водоотведение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL6}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL7}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL8}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL9}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL10}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL11}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL12}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL13}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL14}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; macroobsh += "SET !EXTRACT {{!COL17}}" + "\n"; var gvs = iimGetExtract(); if (gvs != ""){ macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Горячее<SP>водоснабжение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL16}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL17}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL18}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL19}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL20}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL21}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL22}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL23}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL24}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; } macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "SET !EXTRACT {{!COL27}}" + "\n"; var otoplen = iimGetExtract(); if (otoplen != ""){ macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Отопление" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL26}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL27}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL28}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL29}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL30}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL31}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL32}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL33}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL34}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; } macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "SET !EXTRACT {{!COL37}}" + "\n"; var xvs = iimGetExtract(); if (xvs != ""){ macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Холодное<SP>водоснабжение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL36}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL37}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL38}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL39}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL40}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL41}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL42}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL43}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL44}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; } macroobsh += "SET !EXTRACT NULL" + "\n"; iimPlay(macroobsh); } Макрос доходит до первого скрытый текст и завершается без всяких ошибок. Что я делаю не так? |
InfSub > 16-10-2017 16:24:59 |
Aikyaira |
Aikyaira > 16-10-2017 16:29:36 |
InfSub |
InfSub > 16-10-2017 16:35:40 |
Aikyaira |
stanny > 16-10-2017 21:54:59 |
Aikyaira пишет
как-то так скрытый текст Выделить код Код:for (i = 8; i < 9; i++) { var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "TAG POS=1 TYPE=SPAN ATTR=TXT:Объемы<SP>по<SP>коммунальным<SP>услугам" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Водоотведение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL6}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL7}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL8}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL9}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL10}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL11}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL12}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL13}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL14}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; macroobsh += "SET !EXTRACT {{!COL17}}" + "\n"; iimPlay(macroobsh); var gvs = iimGetExtract(); if (gvs !=null){ var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Горячее<SP>водоснабжение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL16}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL17}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL18}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL19}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL20}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL21}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL22}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL23}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL24}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; iimPlay(macroobsh); } var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "SET !EXTRACT {{!COL27}}" + "\n"; iimPlay(macroobsh); var otoplen = iimGetExtract(); if (otoplen != ""){ var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Отопление" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL26}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL27}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL28}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL29}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL30}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL31}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL32}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL33}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL34}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; iimPlay(macroobsh); } var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "SET !EXTRACT {{!COL37}}" + "\n"; iimPlay(macroobsh) var xvs = iimGetExtract(); if (xvs !=null){ var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !DATASOURCE reformaobemku.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "SET !EXTRACT NULL" + "\n"; macroobsh += "TAG POS=1 TYPE=DIV ATTR=TXT:Холодное<SP>водоснабжение" + "\n"; macroobsh += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroobsh += "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n"; macroobsh += "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL36}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL37}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL38}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CONTENT=\"{{!COL39}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:consumerArrears CONTENT=\"{{!COL40}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:cashToProviderPayment CONTENT=\"{{!COL41}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidToSupplierAmount CONTENT=\"{{!COL42}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:arrearToSupplierAmount CONTENT=\"{{!COL43}}\"" + "\n"; macroobsh += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalPenalties CONTENT=\"{{!COL44}}\"" + "\n"; macroobsh += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; iimPlay(macroobsh) } var macroobsh; macroobsh = "CODE:"; macroobsh += "SET !EXTRACT NULL" + "\n"; iimPlay(macroobsh); } |
Aikyaira > 16-10-2017 21:56:35 |
stanny |
FastSpeed > 19-10-2017 08:36:52 |
Помогите решить делему! скрытый текст скрины публикуется под спойлером Яндекс почта. Колонка КОМУ. При записи двух видов получается такое: 1) скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV ATTR=CONTENTEDITABLE:true&&DATA-SEPARATOR:&&DATA-TOKENIZER:Daria.Bubble.tokenizer&&DATA-CHECK-BUBBLE-PASTE:Daria.Bubble.checkPaste&&DATA-BUBBLE-COPY:Daria.Bubble.copy&&DATA-BUBBLE-DEFORMATION:Daria.Bubble.node2object&&DATA-BUBBLE-FORMATION:Daria.Bubble.update&&DATA-CLASS-BUBBLE:mail-Bubble<SP>js-bubble&&NAME:to&&TABINDEX:10&&IS:x-bubbles&&CLASS:js-compose-field<SP>mail-Bubbles&&SPELLCHECK:false 2) скрытый текст код публикуется в тегах code под спойлером В обоих случаях нет значение CONTENT = P.S Event кликом работает, но только когда браузер открыт, при свернутом проблемы. замечание InfSub |
karginaolga > 19-10-2017 09:12:27 |
FastSpeed скрытый текст Выделить код Код:window.document.querySelector('div.mail-Compose-Field-Input div.js-compose-field.mail-Bubbles').textContent = "бла-бла"; |
FastSpeed > 19-10-2017 10:47:01 |
Ольга, спасибо огромное! Текст вписывает в колонку, однако при отправке сообщения выдает ошибку "Поле не заполнено, Необходимо ввести адрес". Физически заполняет адрес, а фактически нет. Только после двойной отправки колонка заполняется серым цветом и сообщение на почту отправляется! Вот после ввода почтового адреса div строка подменяется на эту: div.js-compose-field mail-Bubbles mail-Bubbles-Sms. А сразу напрямую ввести в нее не получилось, пишет null. |
nikolay1987 > 19-10-2017 12:12:41 |
FastSpeed скрытый текст Выделить код Код:iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="div.mail-Compose-Field-Input div.js-compose-field.mail-Bubbles" CHARS="po4ta"') |
FastSpeed > 19-10-2017 12:48:58 |
nikolay1987, спасибо Однако при свернутом браузере не работает 19-10-2017 13:13:42 |
karginaolga > 19-10-2017 17:51:12 |
FastSpeed |
karginaolga > 20-10-2017 07:57:58 |
есть вопрос. знает кто нибудь как выставить задерку на .js ?? |
googlenoob > 20-10-2017 15:16:00 |
Первый пост не судите строго! Только сейчас начал писать скрипты с js так как понадобилось условие но только для управления сами скрипты исполнители на чистом imacros. И в стандартных скриптах не проблема ожидание проставить! От меня вопрос как в такой конструкции выйти из цикла скрытый текст Выделить код Код:iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test1.iim") for (;;){ if (iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Здесь условие и оно срабатывает')>0){ iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test3.iim") } else { iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test2.iim",60) } } код публикуется в тегах code под спойлером Как мне завершить скрипт и добавить ещё фишку циклы желательно без привязки к файлу со списком запросов допустим а просто указать 10 раз выполнить и остановка всего скрипта а не там где капчу гадает? infSub |
InfSub > 20-10-2017 15:33:19 |
googlenoob googlenoob пишет
скрипт действует ровно так, как вы описали в своем скрипте, а именно: googlenoob пишет
break - или гугл Вас забанил?! |
googlenoob > 20-10-2017 16:22:20 |
Где в моём скрипте ставить break и как? Про запросы я для примера написал там не парсинг выдачи первую 100 выдачи yandex и без js парсил не банили! У меня другое я пробовал break ставить скрипт вообще не запускался. Вы говорите бесконечный но по условию то он должен прекратится ан нет не с начала начинает а именно капчу снова гадает. Извиняюсь конечно вы меня не поняли условие у меня настроено на то что бы завершить скрипт после того как капча разгадалась и в условии подключен такие команды Содержимое test3.iim код публикуется в тегах code под спойлером И все должен остановится, так как находит символы обычный текст о том, что капча разгадана, к примеру «комментарий успешно добавлен». InfSub |
FastSpeed > 20-10-2017 17:44:14 |
googlenoob, зацени мой код и сделай также: скрытый текст Выделить код Код://// 1. ЛОГИН В АККАУНТ login: for (b=0; b<151; b++) { if(message == 150) /// 150 попыток войти в аккаунт { message_on_email() log('Отправляю на почту сообщение об ошибке...'); break all } iimPlayCode('TAG POS=1 TYPE=INPUT:SUBMIT ATTR=ID:free_play_form_button* EXTRACT=TXT') proverka=iimGetLastExtract(); if(proverka == 'ROLL!') { message=0; break login } else { /// Ошибка на случай, если упал интернет. 150 попыток войти, иначе сообщение logins() message++ } } код публикуется в тегах code под спойлером третье замечание бан на неделю, п.п. 4.1 InfSub |
googlenoob > 20-10-2017 18:21:52 |
InfSub пишет
Спасибо InfSub! Не туда пихал break как говорится «С дуру…» посмотрел ролик на youtube “iMacros javascript условия” и сделал. Это первый вопрос получается, решился но по второму что делать как мне запустить 10 раз весь скрипт мне надо что бы после разгадки капчи снова начал с начала test1. |
stanny > 20-10-2017 18:54:53 |
googlenoob пишет
скрытый текст Выделить код Код:for (a=1;a<=10;a++){ iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test1.iim") for (;;){ if (iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Здесь условие и оно срабатывает')>0){ iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test3.iim") } else { iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test2.iim",60) break } } } |
googlenoob > 20-10-2017 21:35:14 |
Я последнее время долго сидел на форуме то бишь просматривал и искал ответы накопировал и сохранил много постов с кодами и рекомендациями но не нашел ответ на следующий вопрос. Как сохранять картинку не капчу а изображение из статьи, к примеру, которое имеет размеры 700х500 но мне надо его сохранить с другим 400х300 и потом его взять и куда то вставить. |
InfSub > 20-10-2017 21:48:20 |
googlenoob пишет
только использовать для этого сторонний софт, пример использования, в том числе и ресайза можно посмотреть в соседней теме про капчи, в шапке темы 20-10-2017 21:58:23 googlenoob пишет
откройте FAQ по iMacros у нас на форуме, там есть видео-уроки, где разжеваны основы, в том числе и по связке iMacros+js |
dim222 > 21-10-2017 18:29:42 |
Уважаемые! Как правильно сдвинуть элемент. Выделить код Код:function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } triggerMouseEvent (targetNode, "mousedown"); //работает triggerMouseEvent (targetNode, "mousemove(524,391)");//не работает |
Egorushka1974 > 23-10-2017 00:10:18 |
dim222 скрытый текст я научился определять стартовую точку с которой нужно двигать пазлик, ее беру за точку отсчета и добавляю приращение из базы с хэшами, всего одна цифра, только вот беда, сегодня поперли новые фоны, и база стала не актуальна. Прошу прощения, если не совсем по теме. |
dim222 > 23-10-2017 01:50:11 |
Egorushka1974 пишет
Да,заметил. Думаю попробовать на картинке искать самый темный пиксель. |
darkzp > 24-10-2017 21:36:02 |
Добрый вечер форум. скрытый текст Выделить код Код:iimPlayCode('TAB T=2'); // переходит на 2ю вкладку. iimPlayCode('TAB T=1'); // не переходит на 1ю вкладку. (ну это и понятно, скрипт то уже 2й. и оно 2ю вкладку браузра видит как TAB T=1.) Подскажите что вы делаете в таких случаях. |
InfSub > 24-10-2017 22:14:16 |
darkzp пишет
открываем FAQ и читаем, что там написано по этому поводу |
stanny > 25-10-2017 15:40:53 |
darkzp пишет
просто меняю местами, чтобы скрипт начинался с таб 1 |
dim222 > 26-10-2017 19:57:12 |
Кто-нибудь знает как подменить прокси в плагине "foxyproxy" в файле 'foxyproxy.xml' |
serg00700 > 26-10-2017 22:00:43 |
Всем привет. Не могу скопировать в текст номер телефона с авито. Было так в скрипте скрытый текст Выделить код Код:TAB T=2 TAG POS=1 TYPE=SPAN ATTR=TXT:Позвонить TAG POS=1 TYPE=SPAN ATTR=TXT:8* EXTRACT=HREF код публикуется в тегах code под спойлером и всё работало. Сейчас просто копируется "#EANF#" . Последняя строчка не работает. Уже несколько дней не могу понять почему не копирует. Поставил мазилу 46.0.1 и макрос 8.9.7 . Помогите пожалуйста. Закину денег на телефон для ускорения процесса InfSub |
InfSub > 26-10-2017 22:08:45 |
serg00700 26-10-2017 22:23:15 |
serg00700 > 27-10-2017 00:37:20 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. В авито что-то менялось. Прошлось несколько раз переделывать самому, а сейчас что-то не пойму почему не копирует. В мобильной версии номер это же как ссылка. Я уже давно и ява скрипт дописал. Помогите исправить. |
InfSub > 27-10-2017 02:54:15 |
serg00700 скрытый текст Выделить код Код:TAG POS=1 TYPE=SPAN ATTR=TXT:Позвонить WAIT SECONDS=1 TAG POS=1 TYPE=SPAN ATTR=TXT:8* EXTRACT=TXT serg00700 пишет
вам виднее |
serg00700 > 27-10-2017 21:57:37 |
InfSub спасибо. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером или как прописать что бы кипировало данные только с заданной длиной, форматом 8 9ХХ ХХХ-ХХ-ХХ ? InfSub |
InfSub > 27-10-2017 23:17:39 |
serg00700 скрытый текст Выделить код Код:TAG POS=1 TYPE=SPAN ATTR=TXT:Позвонить WAIT SECONDS=1 TAG POS=1 TYPE=SPAN ATTR=CLASS:*phone-number EXTRACT=TXT |
dim222 > 02-11-2017 15:23:22 |
Уважаемые!Подскажите! скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки на сторонние ресурсы, даются в тегах noindex под спойлером замечание Спасибо Nagibake InfSub |
udalov > 06-11-2017 09:08:45 |
Здравствуйте. Подскажите, как можно получить четыре значения id для дальнейшего сравнения их между собой и поиска одинаковых? скрытый текст Выделить код Код:body> <div id="tp"> <div class="row info black-text valign-wrapper"> <div class="col s4 hide-on-med-and-down"> <div class="col s4 center"> <b> <span id="tmr" class="green-text center left" style="outline: 1px solid blue;"> <a id="4" class="res" href="#"> <a id="46" class="res" href="#"> <a id="4" class="res" href="#"> <a id="87" class="res" href="#"> </span> |
InfSub > 06-11-2017 10:55:01 |
udalov скрытый текст Выделить код Код:iimPlayCode('tag pos=1 type=span attr=Id:tmr extract=htm'; var result=iimGetLastExtract().match(/id="(\d+)"/); скорее всего придется еще почистить результирующий массив от id=" и " |
FastSpeed > 06-11-2017 22:19:05 |
Ребята! В общем беда случилась. Написал скрипт на JS - все работает, но иногда при длительном фарме вылазит ошибка с табличкой у Firefox.... |
СУПЕР КОТ > 07-11-2017 02:27:00 |
удалено, п.п. 2.9 InfSub |
udalov > 07-11-2017 07:04:24 |
СУПЕР КОТ пишет
В FAQ есть примеры нажатия кнопок. Ссылки на ФАК вверху страницы. |
udalov > 07-11-2017 08:22:11 |
Пытаюсь попарно сравнить между собой данные, чтобы найти одинаковые. Однако, срабатывает сразу первое сравнение с выдачей первого же алерта. Если вместо = в сравнении ставлю < или > , то всё работает. Получается, в таком формате, как у меня, сравнивать нельзя? А в каком можно? скрытый текст Выделить код Код:result1 = 21 result2 = 27 result3 = 19 result4 = 27 if (result1=result2){ alert("1 и 2"); }else if (result1=result3){ alert("1 и 3"); }else if (result1=result4){ alert("1 и 4"); }else if (result2=result3){ alert("2 и 3"); }else if (result2=result4){ alert("2 и 4"); }else{ alert("3 и 4");} Сейчас появилась мысль вычитать одно число из другого попарно. Если результат =0, данные одинковые, если < или > то разные. Неужели нет способа проще? Всё нашёл, надо = = ставить в сравнении)) |
Egorushka1974 > 07-11-2017 12:20:07 |
udalov пишет
А еще применяется и такое === (оператор строгого равенства) это если сравнивать без преобразования типов, |
InfSub > 07-11-2017 22:36:52 |
СУПЕР КОТ |
Alladin > 09-11-2017 21:46:33 |
Здравствуйте! Нужен скролинг результатов до последнего вниз. скрытый текст Выделить код Код:<div id="fbBrowseScrollingPagerContainer0" <div id="fbBrowseScrollingPagerContainer1" <div id="fbBrowseScrollingPagerContainer2" <div id="fbBrowseScrollingPagerContainer3" Когда доходит до конца поиска, в последнем блоке появляется: скрытый текст код публикуется в тегах code под спойлером Скрин DOM скрытый текст Подскажите какой прописать код, что бы скрипт останавливался, когда доходит до конца списка поиска? И сразу второй вопрос, есть ли возможность как-то оповестить, когда скрипт останавливаться. Например, дошел до конца страницы поиска, остановился, и оповестил о завершении. Спасибо! InfSub |
InfSub > 09-11-2017 22:03:24 |
Alladin пишет
как-то так: скрытый текст Выделить код Код:for(let i = 1; ; i++){ iimPlayCode( 'tag pos='+i+' type=div attr=id:fbBrowseScrollingPagerContainer* extract=txt' ); if( ~iimGetLastExtract().indexOf( 'End of Results' ) ){ break; }; }; Alladin пишет
все зависит от вашей фантазии, начиная от открытия флеш плеера со звуковым файлом, заканчивая запуском программы (см. FAQ), например аудиоплеера |
karginaolga > 09-11-2017 22:04:10 |
Alladin скрытый текст то оповещение можно сделать так: скрытый текст Выделить код Код:if (window.document.querySelector('div[class="phm _64f"]')) { iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO=about:blank'); window.document.querySelector('body').innerHTML = '<audio src="http://ahandfulof.me/fail/zvuk-prujiny-v2.mp3" autoplay></audio>'; iimPlayCode('WAIT SECONDS=5'); window.close(); }; |
Alladin > 10-11-2017 12:29:22 |
InfSub InfSub |
googlenoob > 10-11-2017 12:51:50 |
Не срабатывает команда SET !TIMEOUT_STEP 20 Код управляющего скрипта скрытый текст Выделить код Код:for (a=1;a<=10;a++){ iimPlay("D:\\iMacros\\test\\test1.iim") for (;;){ if (iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Комментарий<SP>успешно*')>0){ iimPlay("D:\\iMacros\\ test\\test3.iim ") break } else { iimPlay("D:\\iMacros\\ test\\test2.iim ",60) } { iimDisplay('Закончили циклы, прошли строк: '+ (a-1)) } } } Код test2.iim скрытый текст Выделить код Код:ONDOWNLOAD FOLDER=C:\CAPCHA FILE=captcha.jpg TAG POS=1 TYPE=IMG ATTR=SRC:http://*/secure/?k=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT 'PAUSE TAB OPEN TAB T=2 URL GOTO=file:///D:/%D0%9C%D0%BE%D0%B8%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B/Desktop/imacros.html TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://127.0.0.1/in.php ATTR=NAME:file CONTENT=C:\CAPCHA\captcha.jpg TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://127.0.0.1/in.php ATTR=* 'Команда ожидания появления текста ответа на капчу 1 ответ до 16 сек далее от 8 сек SET !TIMEOUT_STEP 20 TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT SET !VAR1 {{!EXTRACT}} SET !EXTRACT NULL TAB CLOSE TAB T=1 'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:addform ATTR=NAME:code CONTENT={{!VAR1}} 'Посимволный ввод полученного ответа на капчу EVENT TYPE=CLICK SELECTOR="#fCode" BUTTON=0 EVENTS TYPE=KEYPRESS SELECTOR="#fCode" CHARS={{!VAR1}} 'Во время паузы проверить правильность введенной капчи PAUSE 'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=* 'Отправка формы эмуляцией нажатия ENTER 'EVENT TYPE=KEYPRESS SELECTOR="#fCode" KEY=13 'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:addform ATTR=NAME:submit EVENT TYPE=CLICK SELECTOR="#addcBut" BUTTON=0 PAUSE 'TAB T=2 'SET !TIMEOUT_STEP 20 'TAG POS=1 TYPE=SPAN ATTR=TXT:Комментарий<SP>успешно* 'PAUSE Не дождался ответа решение такое надо добавить команду в test2 скрытый текст |
karginaolga > 10-11-2017 12:58:17 |
Alladin скрытый текст Выделить код Код:var a = window.document.querySelectorAll('div[id^="fbBrowseScrollingPagerContainer"]').length; alert(a); |
Alladin > 10-11-2017 13:25:26 |
karginaolga InfSub |
karginaolga > 10-11-2017 13:47:50 |
Alladin скрытый текст Выделить код Код:window.document.querySelectorAll('div[id^="fbBrowseScrollingPagerContainer"]')[1].scrollIntoView(); или так: скрытый текст |
Alladin > 10-11-2017 14:14:10 |
karginaolga я совсем зеленый еще в циклах. скрытый текст Выделить код Код:for(let i = 1; ; i++){ iimPlayCode( 'tag pos='+i+' type=div attr=id:fbBrowseScrollingPagerContainer* extract=txt' ); window.document.querySelectorAll('div[id^="fbBrowseScrollingPagerContainer"]')[1].scrollIntoView(); if( ~iimGetLastExtract().indexOf( 'End of Results' ) ){ break; }; }; Он не скролит вниз, а соотвественно не подгружаются и не появляются: fbBrowseScrollingPagerContainer Задача в том, что бы скролил вниз пока в одном из fbBrowseScrollingPagerContainer не появляется End of Results скрытый текст |
dim222 > 11-11-2017 11:53:47 |
Форумчане! При изменении юзер-агента меняется строка "ua/chrome,ua/chrome52,os/nt,os/nt10.0,fwv/PnPOiQ.bayb72",хотелось бы ее получать. Или может есть способ расшифровки этой записи в соответствии с юзерагентом.В принципе основное понятно,кроме "PnPOiQ.bayb72" |
Flanker > 12-11-2017 07:25:58 |
здравствуйте. код Выделить код Код:iimPlayCode('TAG POS=1 TYPE=A ATTR=CLASS:data EXTRACT=HTM'); data=iimGetLastExtract().replace(/\D+/g,""); alert(data); //1140921801051800818205200040183200807200402183185200040800000021818520080000011448 код публикуется в тегах code под спойлером подскажите, как сделать так, чтобы от всей кучи цифр в переменой data осталось только первые две цифры, т.е. 14? InfSub |
karginaolga > 12-11-2017 08:36:02 |
Flanker |
InfSub > 12-11-2017 11:04:19 |
Flanker скрытый текст |
darkzp > 12-11-2017 14:20:56 |
BadParameter: The URL syntax is not correct: скрытый текст Не пойму. как поправить можно? |
InfSub > 12-11-2017 14:28:52 |
darkzp 12-11-2017 14:31:01 |
darkzp > 12-11-2017 14:34:37 |
А не подскажешь как быть |
InfSub > 12-11-2017 14:37:20 |
darkzp |
karginaolga > 12-11-2017 14:38:14 |
darkzp скрытый текст |
darkzp > 12-11-2017 14:39:16 |
для начала я хочу перейти по этой ссылке 12-11-2017 14:41:16 |
Aikyaira > 13-11-2017 11:26:47 |
Всем привет! скрытый текст Выделить код Код:for (i = 6; i < 349; i++) { var macroobsh; macroobsh = "CODE:"; macroobsh += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "URL GOTO={{!COL1}}" + "\n"; macroobsh += "WAIT SECONDS=2" + "\n"; macroobsh += "TAG POS=1 TYPE=SPAN ATTR=TXT:Коммунальные<SP>услуги" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; var macroobsh1; macroobsh1 = "CODE:"; macroobsh1 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh1 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh1 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh1 += "SET !EXTRACT NULL" + "\n"; macroobsh1 += "SET !EXTRACT {{!COL26}}" + "\n"; var macroobsh2; macroobsh2 = "CODE:"; macroobsh2 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh2 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh2 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh2 += "SET !EXTRACT NULL" + "\n"; macroobsh2 += "SET !EXTRACT {{!COL48}}" + "\n"; var macroobsh3; macroobsh3 = "CODE:"; macroobsh3 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh3 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh3 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh3 += "SET !EXTRACT NULL" + "\n"; macroobsh3 += "SET !EXTRACT {{!COL72}}" + "\n"; var macroobsh4; macroobsh4 = "CODE:"; macroobsh4 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh4 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh4 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh4 += "SET !EXTRACT NULL" + "\n"; macroobsh4 += "SET !EXTRACT {{!COL96}}" + "\n"; var macroobsh5; macroobsh5 = "CODE:"; macroobsh5 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh5 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh5 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh5 += "SET !EXTRACT NULL" + "\n"; macroobsh5 += "SET !EXTRACT {{!COL120}}" + "\n"; var macroobsh6; macroobsh6 = "CODE:"; macroobsh6 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroobsh6 += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(2)>DIV>DIV>DIV:nth-of-type(2)>DIV>A:nth-of-type(2)>SPAN:nth-of-type(2)\" BUTTON=0" + "\n"; macroelectro += "WAIT SECONDS=1" + "\n"; var macroelectro; macroelectro = "CODE:"; macroelectro += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroelectro += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroelectro += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroelectro += "TAG POS=1 TYPE=DIV ATTR=TXT:Электроснабжение" + "\n"; macroelectro += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroelectro += "WAIT SECONDS=1" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL26}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL27}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL28}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL30}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL31}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL32}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"б\/н\"" + "\n"; macroelectro += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macroelectro += "WAIT SECONDS=0.5" + "\n"; var filtr; var macroelectro1; macroelectro1 = "CODE:"; macroelectro1 += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macroelectro1 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroelectro1 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroelectro1 += "EVENT TYPE=CLICK SELECTOR=\"#"+filtr+"\" BUTTON=0" + "\n"; var macrootoplen; macrootoplen = "CODE:"; macrootoplen += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macrootoplen += "SET !DATASOURCE reformatarifi.csv" + "\n"; macrootoplen += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macrootoplen += "TAG POS=1 TYPE=DIV ATTR=TXT:Отопление" + "\n"; macrootoplen += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macrootoplen += "WAIT SECONDS=1" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL48}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL49}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL50}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL52}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL53}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL54}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"{{!COL55}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractDate] CONTENT=\"{{!COL56}}\"" + "\n"; macrootoplen += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrootoplen += "WAIT SECONDS=0.5" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrootoplen += "WAIT SECONDS=0.5" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariffStartedDate CONTENT=\"{{!COL57}}\"" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariff CONTENT=\"{{!COL59}}\"" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:unitOfMeasurement CONTENT=\"{{!COL58}}\"" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "TAG POS=3 TYPE=SPAN ATTR=TXT:НПА<SP>и<SP>нормативы" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffNumber] CONTENT=\"{{!COL60}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffDate] CONTENT=\"{{!COL61}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffOrgName] CONTENT=\"{{!COL62}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNorm] CONTENT=\"{{!COL63}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormUnitOfMeasurement] CONTENT=\"{{!COL64}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormAddInfo] CONTENT=\"{{!COL65}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeeds] CONTENT=\"{{!COL66}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeedsUnitOfMeasurement] CONTENT=\"{{!COL67}}\"" + "\n"; macrootoplen += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormOnCommonNeedsAddInfo] CONTENT=\"{{!COL68}}\"" + "\n"; macrootoplen += "TAG POS=4 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrootoplen += "WAIT SECONDS=0.5" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrootoplen += "WAIT SECONDS=0.5" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentDate CONTENT=\"{{!COL70}}\"" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrootoplen += "WAIT SECONDS=0.1" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentNumber CONTENT=\"{{!COL69}}\"" + "\n"; macrootoplen += "WAIT SECONDS=0.2" + "\n"; macrootoplen += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrootoplen += "WAIT SECONDS=0.1" + "\n"; macrootoplen += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentOrgName CONTENT=\"{{!COL71}}\"" + "\n"; macrootoplen += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macrootoplen += "WAIT SECONDS=1" + "\n"; macrootoplen += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; var macrogvs; macrogvs = "CODE:"; macrogvs += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macrogvs += "SET !DATASOURCE reformatarifi.csv" + "\n"; macrogvs += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macrogvs += "TAG POS=1 TYPE=DIV ATTR=TXT:Горячее<SP>водоснабжение" + "\n"; macrogvs += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macrogvs += "WAIT SECONDS=1" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL72}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL73}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL74}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL76}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL77}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL78}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"{{!COL79}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractDate] CONTENT=\"{{!COL80}}\"" + "\n"; macrogvs += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrogvs += "WAIT SECONDS=0.5" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrogvs += "WAIT SECONDS=0.5" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariffStartedDate CONTENT=\"{{!COL81}}\"" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariff CONTENT=\"{{!COL83}}\"" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:unitOfMeasurement CONTENT=\"{{!COL82}}\"" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "TAG POS=3 TYPE=SPAN ATTR=TXT:НПА<SP>и<SP>нормативы" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffNumber] CONTENT=\"{{!COL84}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffDate] CONTENT=\"{{!COL85}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffOrgName] CONTENT=\"{{!COL86}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNorm] CONTENT=\"{{!COL87}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormUnitOfMeasurement] CONTENT=\"{{!COL88}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormAddInfo] CONTENT=\"{{!COL89}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeeds] CONTENT=\"{{!COL90}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeedsUnitOfMeasurement] CONTENT=\"{{!COL91}}\"" + "\n"; macrogvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormOnCommonNeedsAddInfo] CONTENT=\"{{!COL92}}\"" + "\n"; macrogvs += "TAG POS=4 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrogvs += "WAIT SECONDS=0.5" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrogvs += "WAIT SECONDS=0.5" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentDate CONTENT=\"{{!COL94}}\"" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrogvs += "WAIT SECONDS=0.1" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentNumber CONTENT=\"{{!COL93}}\"" + "\n"; macrogvs += "WAIT SECONDS=0.2" + "\n"; macrogvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrogvs += "WAIT SECONDS=0.1" + "\n"; macrogvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentOrgName CONTENT=\"{{!COL95}}\"" + "\n"; macrogvs += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macrogvs += "WAIT SECONDS=1" + "\n"; macrogvs += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; var macrohvs; macrohvs = "CODE:"; macrohvs += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macrohvs += "SET !DATASOURCE reformatarifi.csv" + "\n"; macrohvs += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macrohvs += "TAG POS=1 TYPE=DIV ATTR=TXT:Холодное<SP>водоснабжение" + "\n"; macrohvs += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macrohvs += "WAIT SECONDS=1" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL96}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL97}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL98}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL100}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL101}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL102}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"{{!COL103}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractDate] CONTENT=\"{{!COL104}}\"" + "\n"; macrohvs += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrohvs += "WAIT SECONDS=0.5" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrohvs += "WAIT SECONDS=0.5" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariffStartedDate CONTENT=\"{{!COL105}}\"" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariff CONTENT=\"{{!COL107}}\"" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:unitOfMeasurement CONTENT=\"{{!COL106}}\"" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "TAG POS=3 TYPE=SPAN ATTR=TXT:НПА<SP>и<SP>нормативы" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffNumber] CONTENT=\"{{!COL108}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffDate] CONTENT=\"{{!COL109}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffOrgName] CONTENT=\"{{!COL110}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNorm] CONTENT=\"{{!COL111}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormUnitOfMeasurement] CONTENT=\"{{!COL112}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormAddInfo] CONTENT=\"{{!COL113}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeeds] CONTENT=\"{{!COL114}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeedsUnitOfMeasurement] CONTENT=\"{{!COL115}}\"" + "\n"; macrohvs += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormOnCommonNeedsAddInfo] CONTENT=\"{{!COL116}}\"" + "\n"; macrohvs += "TAG POS=4 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrohvs += "WAIT SECONDS=0.5" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrohvs += "WAIT SECONDS=0.5" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentDate CONTENT=\"{{!COL118}}\"" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrohvs += "WAIT SECONDS=0.1" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentNumber CONTENT=\"{{!COL117}}\"" + "\n"; macrohvs += "WAIT SECONDS=0.2" + "\n"; macrohvs += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrohvs += "WAIT SECONDS=0.1" + "\n"; macrohvs += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentOrgName CONTENT=\"{{!COL119}}\"" + "\n"; macrohvs += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macrohvs += "WAIT SECONDS=1" + "\n"; macrohvs += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; var macrovodootv; macrovodootv = "CODE:"; macrovodootv += "VERSION BUILD=9030808 RECORDER=FX" + "\n"; macrovodootv += "SET !DATASOURCE reformatarifi.csv" + "\n"; macrovodootv += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macrovodootv += "TAG POS=1 TYPE=DIV ATTR=TXT:Водоотведение" + "\n"; macrovodootv += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macrovodootv += "WAIT SECONDS=1" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL120}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL121}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL122}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL124}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL125}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL126}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"{{!COL127}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractDate] CONTENT=\"{{!COL128}}\"" + "\n"; macrovodootv += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrovodootv += "WAIT SECONDS=0.5" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrovodootv += "WAIT SECONDS=0.5" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariffStartedDate CONTENT=\"{{!COL129}}\"" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:tariff CONTENT=\"{{!COL131}}\"" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:unitOfMeasurement CONTENT=\"{{!COL130}}\"" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "TAG POS=3 TYPE=SPAN ATTR=TXT:НПА<SP>и<SP>нормативы" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffNumber] CONTENT=\"{{!COL132}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffDate] CONTENT=\"{{!COL133}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[legalActOfTariffOrgName] CONTENT=\"{{!COL134}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNorm] CONTENT=\"{{!COL135}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormUnitOfMeasurement] CONTENT=\"{{!COL136}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormAddInfo] CONTENT=\"{{!COL137}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeeds] CONTENT=\"{{!COL138}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[consumptionNormOnCommonNeedsUnitOfMeasurement] CONTENT=\"{{!COL139}}\"" + "\n"; macrovodootv += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[consumptionNormOnCommonNeedsAddInfo] CONTENT=\"{{!COL140}}\"" + "\n"; macrovodootv += "TAG POS=4 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macrovodootv += "WAIT SECONDS=0.5" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV>SPAN\" BUTTON=0" + "\n"; macrovodootv += "WAIT SECONDS=0.5" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD>DIV\" BUTTON=0" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentDate CONTENT=\"{{!COL142}}\"" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(2)>DIV\" BUTTON=0" + "\n"; macrovodootv += "WAIT SECONDS=0.1" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentNumber CONTENT=\"{{!COL141}}\"" + "\n"; macrovodootv += "WAIT SECONDS=0.2" + "\n"; macrovodootv += "EVENT TYPE=CLICK SELECTOR=\"HTML>BODY>DIV:nth-of-type(14)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>SPAN>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>SPAN>DIV>DIV>DIV:nth-of-type(4)>DIV>TABLE>TBODY>TR>TD:nth-of-type(3)>DIV\" BUTTON=0" + "\n"; macrovodootv += "WAIT SECONDS=0.1" + "\n"; macrovodootv += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:documentOrgName CONTENT=\"{{!COL143}}\"" + "\n"; macrovodootv += "TAG POS=2 TYPE=A ATTR=TXT:Сохранить" + "\n"; macrovodootv += "WAIT SECONDS=1" + "\n"; macrovodootv += "TAG POS=1 TYPE=A ATTR=TXT:OK" + "\n"; iimPlay(macroobsh); iimPlay(macroobsh1); var electro = iimGetExtract(); if (electro = "Предоставляется"){ iimPlay(macroelectro); var element = document.querySelectorAll('div[class="x-column-header x-column-header-align-center x-box-item x-column-header-default x-unselectable x-column-header-first"]'); filtr = element[element.length-1].getAttribute('id'); iimPlay(macroelectro1); } iimPlay(macroobsh2); var otoplen = iimGetExtract(); if (otoplen = "Предоставляется"){ iimPlay(macrootoplen); } iimPlay(macroobsh3); var gvs = iimGetExtract(); if (gvs = "Предоставляется"){ iimPlay(macrogvs); } iimPlay(macroobsh4); var hvs = iimGetExtract(); if (hvs = "Предоставляется"){ iimPlay(macrohvs); } iimPlay(macroobsh5); var vodootv = iimGetExtract(); if (vodootv = "Предоставляется"){ iimPlay(macrovodootv); } iimPlay(macroobsh6); } Но macroelectro1 не отрабатывает. Подскажите пожалуйста, как поправить, чтобы работало? Пробовала вариант с window.onload - тогда не проигрывается код вообще. |
InfSub > 13-11-2017 11:54:45 |
Aikyaira пишет
для начала смените версию iMacros на 8.9.7 и запретите обновление 13-11-2017 11:59:01 Aikyaira пишет
а собственно что тут должно работать, если вы объявили пустую переменную var filtr; и после этого вызываете ее в коде, не передав значение? 13-11-2017 12:00:59 |
Aikyaira > 13-11-2017 12:11:37 |
InfSub пишет
Объявила пустую переменную. а этим кодом присваиваю ей значение скрытый текст Выделить код Код:var element = document.querySelectorAll('div[class="x-column-header x-column-header-align-center x-box-item x-column-header-default x-unselectable x-column-header-first"]'); filtr = element[element.length-1].getAttribute('id'); Что такого в объявлении переменных внутри цикла? |
karginaolga > 13-11-2017 12:25:23 |
Aikyaira скрытый текст здесь у вас нету сравнения, ошибка |
Aikyaira > 13-11-2017 12:28:37 |
karginaolga Сравнение есть, так как в csv есть такая ячейка. А сравниваю я с Extract'ом. Или вы имеете ввиду неверный оператор сравнения? Если да-то поправила |
karginaolga > 13-11-2017 12:33:59 |
Aikyaira |
Aikyaira > 13-11-2017 12:36:30 |
karginaolga 13-11-2017 12:41:45 karginaolga пишет
Вы имеете ввиду то, что window.onload = function() отсутствует? С ним вообще пропускается macroelectro и macroelectro1. Вот поэтому и спрашиваю, чем можно эту конструкцию заменить, чтобы работало скрытый текст Выделить код Код:var macroobsh; var macroobsh1; var macroelectro; var filtr; var macroelectro1; for (i = 6; i < 349; i++) { macroobsh = "CODE:"; macroobsh += "VERSION BUILD=8970419 RECORDER=FX" + "\n"; macroobsh += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh += "URL GOTO={{!COL1}}" + "\n"; macroobsh += "WAIT SECONDS=2" + "\n"; macroobsh += "TAG POS=1 TYPE=SPAN ATTR=TXT:Коммунальные<SP>услуги" + "\n"; macroobsh += "WAIT SECONDS=1" + "\n"; macroobsh1 = "CODE:"; macroobsh1 += "VERSION BUILD=8970419 RECORDER=FX" + "\n"; macroobsh1 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroobsh1 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroobsh1 += "SET !EXTRACT NULL" + "\n"; macroobsh1 += "SET !EXTRACT {{!COL26}}" + "\n"; macroelectro = "CODE:"; macroelectro += "VERSION BUILD=8970419 RECORDER=FX" + "\n"; macroelectro += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroelectro += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroelectro += "TAG POS=1 TYPE=DIV ATTR=TXT:Электроснабжение" + "\n"; macroelectro += "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n"; macroelectro += "WAIT SECONDS=1" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[fillingFact] CONTENT=\"{{!COL26}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[serviceMethod] CONTENT=\"{{!COL27}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:communalService[tariffDescription] CONTENT=\"{{!COL28}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerInn] CONTENT=\"{{!COL30}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerName] CONTENT=\"{{!COL31}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[providerAddInfo] CONTENT=\"{{!COL32}}\"" + "\n"; macroelectro += "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:communalService[supplyContractNumber] CONTENT=\"б\/н\"" + "\n"; macroelectro += "TAG POS=3 TYPE=SPAN ATTR=TXT:Добавить" + "\n"; macroelectro += "WAIT SECONDS=0.5" + "\n"; macroelectro1 = "CODE:"; macroelectro1 += "VERSION BUILD=8970419 RECORDER=FX" + "\n"; macroelectro1 += "SET !DATASOURCE reformatarifi.csv" + "\n"; macroelectro1 += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные macroelectro1 += "EVENT TYPE=CLICK SELECTOR=\"#"+filtr+"\" BUTTON=0" + "\n"; iimPlay(macroobsh); iimPlay(macroobsh1); var electro = iimGetExtract(); if (electro == "Предоставляется"){ iimPlay(macroelectro); window.onload = function(){ var element = document.querySelectorAll('div[class="x-column-header x-column-header-align-center x-box-item x-column-header-default x-unselectable x-column-header-first"]'); filtr = element[element.length-1].getAttribute('id'); iimPlay(macroelectro1); } } } |
karginaolga > 13-11-2017 12:47:36 |
Aikyaira скрытый текст надо так скрытый текст но чтобы работал window нужно сменить версию iMacros на 8.9.7 |
Aikyaira > 13-11-2017 12:56:29 |
karginaolga |
InfSub > 13-11-2017 13:05:40 |
Aikyaira пишет
вы объявили переменные filtrи macroelectro1после чего присвоили значениеvar macroelectro1при присвоении у вас (в первом цикле) значение переменной filtrравно undefined так как описанное вами: скрытый текст Выделить код Код:var element = document.querySelectorAll('div[class="x-column-header x-column-header-align-center x-box-item x-column-header-default x-unselectable x-column-header-first"]'); filtr = element[element.length-1].getAttribute('id'); выполниться только в конце первого цикла, когда значение macroelectro1 уже присвоено 13-11-2017 13:12:02 filtr, попадающее в переменную macroelectro1будет равно тому значению, которое было получено в предыдущем проходе цикла |
Aikyaira > 13-11-2017 14:24:18 |
InfSub |
Duh > 14-11-2017 11:42:40 |
А что, начиная с Firefox 57 уже не будет дополнения iMacros? Или будет нечто подобное как для хрома без поддержки JavaScript? |
Alladin > 14-11-2017 15:31:09 |
подскажите разобраться, не могу понять где именно пропустил ";" пишет
скрытый текст скрытый текст Выделить код Код:var n = '\n'; var macros = ''; macros += 'TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+ n; macros += 'TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'+ n; macros += 'SET !VAR1 EVAL("'{{!EXTRACT}}'.match(/(.*?)\\s·\\s\\d+/).pop()")'+ n; macros += 'SET !EXTRACT NULL'+ n; macros += 'ADD !EXTRACT {{!VAR1}}'+ n; macros += 'SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1")'+ n; macros += 'TAG POS={{!LOOP}} TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+ n; macros += 'TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+ n; macros += 'SAVEAS TYPE=EXTRACT FOLDER=* FILE=test.txt'+ n; iimPlayCode(macros); |
irinajanas > 14-11-2017 16:59:32 |
Я в imacrose копировала текст с другого сайта, на сайте текст все время меняется, когда я запустила еще раз имакрос то текст копировался тот чтобы был при записовании имакроса а не тот что сейчас на сайте. Как сделать чтобы имакрос копировал новый текст? |
googlenoob > 14-11-2017 17:09:58 |
irinajanas |
Aikyaira > 14-11-2017 17:32:05 |
Alladin пишет
Попробуйте так: скрытый текст |
irinajanas > 14-11-2017 17:42:39 |
googlenoob пишет
удалено, избыточное цитирование скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX SET !ERRORIGNORE YES TAG POS=1 TYPE=TEXTAREA FORM=NAME:taskreportform ATTR=NAME:ask_reply CONTENT=http://awangarda.ru/fotografii-lic-zhenshhin-do-vo-vremya-i-posle-orgazma/<BR>http://awangarda.ru/25-chestnyx-illyustracij-o-materinskoj-zhizni/<BR>http://awangarda.ru/20-razlichnyx-sposobov-podachi-kofe-vo-vsem-mire/<BR>http://awangarda.ru/fotografii-ryzhevolosyx-devushek-so-vsego-mira/<BR>http://awangarda.ru/umoritelnye-foto-zhivotnyx/<SP> код публикуется в тегах code под спойлером Я так поняла он просто раз записывает сюда значение и больше не меняет, все время его вставляет, а как мне сделать чтобы он копировал текст с сайт текст который там ( он там все время менятся ) InfSub |
Alladin > 14-11-2017 17:53:20 |
Aikyaira |
Bosnuk > 14-11-2017 18:47:01 |
ссылки на сторонние сайты публикуются в тегах noindex под спойлером замечание InfSub |
Alladin > 14-11-2017 19:16:36 |
karginaolga InfSub |
Aikyaira > 15-11-2017 09:47:04 |
Подскажите, пожалуйста, как проверить наличие элемента внутри другого элемента? Делаю так, но не работает iimPlay(ots), а элемент на странице в количестве одной штуки есть: скрытый текст Выделить код Код:var filtr1; var filtr2; var filtr3; var element1 = window.document.querySelectorAll('div[class="x-grid-view x-fit-item x-grid-view-default"]'); filtr1 = element1[1].getAttribute('id'); var netdannix = window.document.querySelectorAll('#' + filtr1 + '>div') if(netdannix.length == 1){ iimPlay(ots); } var element2 = window.document.querySelectorAll('#' + filtr1 + '-body>tr'); filtr2 = element2[0].getAttribute('id'); var element3 = window.document.querySelectorAll('#' + filtr2 + '>td'); filtr3 = element3[0].getAttribute('id'); var macrovodootv2; macrovodootv2 = "CODE:"; |
dim222 > 15-11-2017 13:17:51 |
Уважаемые! Каким образом взять куки с помощью запроса, для следующего запроса? этой командой получаю не то что надо |
s.stake > 15-11-2017 17:17:36 |
Помогите пожалуста подкорректировать код, не могу додумать где ошибка закралась. скрытый текст Выделить код Код:for(let i = 0; ; i++){ var n = '\n'; var macros = ''; macros += 'SET !REPLAYSPEED FAST'+ n; macros += 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+ n; macros += 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'+ n; macros += 'SET !VAR1 EVAL("\'{{!EXTRACT}}\'.match(/(.*?)\\s·\\s\\d+/).pop()")'+ n; macros += 'SET !EXTRACT NULL'+ n; macros += 'ADD !EXTRACT {{!VAR1}}'+ n; macros += 'SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1")'+ n; macros += 'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+ n; macros += 'TAG POS='+i+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+ n; macros += 'SAVEAS TYPE=EXTRACT FOLDER=* FILE=test.txt'+ n; macros += 'FILTER TYPE=IMAGES STATUS=ON'+ n; macros += 'URL GOTO="javascript:window.scrollTo(0,(content.document.documentElement.scrollHeight)); void(0);"' + n; iimPlayCode(macros); скрытый текст |
googlenoob > 15-11-2017 18:18:59 |
Мне легче сохранять, а потом извлекать какую то информацию в нескольких файлах. К примеру, 10 почт соответственно 10 разных паролей к ним разделены на два файла MAIL и PASS и ни каких проблем не будет при извлечении по порядку в цикле обычном, но и на js не проблема зациклить. Как и у Вас записаны в столбик по порядку и берутся также мыло с первой строки и пас тоже с первой, но с другого файла. |
s.stake > 15-11-2017 18:28:24 |
googlenoob |
irinajanas > 15-11-2017 19:16:18 |
скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV FORM=NAME:taskreportform ATTR=ID:nazv3 EXTRACT=TXT TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:taskselectform ATTR=NAME:tasknum CONTENT={{!EXTRACT}} код публикуется в тегах code под спойлером С помощу этих команд я копирую и вставляю текст InfSub |
InfSub > 15-11-2017 21:53:29 |
irinajanas скрытый текст |
stanny > 17-11-2017 20:19:09 |
прожорливость imacrosa можно как-то регулировать ??? банальное зайти на страницу и нажать кнопку в цикле после 50 уже больше гига озу высасывает и постоянно растет пока не упрется в потолок или не закончится работа макроса, при 200 мб при старте. Часто после 50 начинает тупить, может даже повиснуть из за нехватки озу, я то думал вначале что это сервер шалит. |
FastSpeed > 17-11-2017 23:08:55 |
Можно, там в about:config на оперативку около 15-20 настроек, я себе до 150 снизил МБ потребление. |
stanny > 17-11-2017 23:56:56 |
FastSpeed пишет
именно по imacrosy там настроек для памяти нет, только самого браузера |
InfSub > 18-11-2017 11:16:48 |
stanny |
stanny > 18-11-2017 15:09:55 |
InfSub |
karginaolga > 18-11-2017 15:29:49 |
stanny скрытый текст Выделить код Код:var str_one = 1; out: for (;;) { //iimPlayCode('WAIT SECONDS=0.6'); var str_two = 1; if (str_one != str_two) break out; }; браузер зависнит, если раскомментировать ожидание будет работать |
stanny > 18-11-2017 18:17:20 |
karginaolga пишет
дело не в коде, попробуйте запустить элементарное действие зайти на страницу - нажать кнопку, в цикле на 50-100 раз и посмотрите сколько уходит памяти в самом начале и сколько спустя например 20 циклов, и эта цифра постоянно будет расти |
InfSub > 18-11-2017 23:31:09 |
stanny 18-11-2017 23:36:44 stanny пишет
и в коде тоже, безграмотно написанный код приведет к зависанию скрипта и причин этому может быть сотня, бесконечный цикл, не имеющий выхода, постоянное пересоздание переменных, приводящее к переполнению памяти и многое-многое другое |
stanny > 19-11-2017 15:56:53 |
InfSub пишет
Я не спорю, я говорю про факты которые легко отследить. Память отжирается при использовании imacrosa, при стандартном использовании браузера с потреблением памяти все в порядке, даже если повторить в ручную что делает макрос. Получается тогда под imacros надо заводить отдельный браузер с нестандартными настройками. Про код я уже писал, банальное зайти на страницу нажать кнопку, 2 строчки кода ( для теста ) ошибок там никаких быть не может. |
InfSub > 19-11-2017 16:12:06 |
stanny |
Alladin > 19-11-2017 18:23:29 |
Подскажите, скорость воспроизведения iMacros кода зависит от загруженности оперативки. Вижу что FF подзагрузил оперативку, но не завис, откликается все норм. Открыта одна вкладка, но с большим объемом из поискового результата. |
InfSub > 19-11-2017 18:25:08 |
Alladin |
Alladin > 19-11-2017 19:05:05 |
InfSub подскажите а в чем может быть причина. Работаю двумя кодами, первым скорлю до конца результата в низ. Подсчитал что найдено например 3000 групп, запускаю второй код в цикле 3000, которым записываю названия и адреса в txt. И вот тут уже код работает как будто в режиме MEDIUM, хотя стоит FAST. Видно что немного лагает. Возможно это из-за большого кол-ва циклов, или большого объема подгруженной информации на странице? |
InfSub > 19-11-2017 19:21:19 |
Ответ в вашем вопросе: Alladin пишет
|
Egorushka1974 > 19-11-2017 19:30:54 |
Alladin пишет
У меня так было. Писал скрипт для игрового сайта, парсил значения селекторов, |
Alladin > 19-11-2017 19:41:32 |
InfSub Egorushka1974 |
Egorushka1974 > 19-11-2017 19:53:40 |
Alladin пишет
Пробуй изменить логику построения скрипта. скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=ID:LastBetInfoWon EXTRACT=HTM'); if (iimGetExtract().indexOf("выигрыш")>0 && iimGetExtract().indexOf("display: none;")<0) continue; else lost(); тормозило сделал так скрытый текст Выделить код Код:try { var z = window.document.querySelector('span[id="LastBetInfoWon"]:not([style="display: none;"])').innerHTML; } catch(e) {lost();}; полетело |
Alladin > 19-11-2017 20:06:23 |
Egorushka1974 У мнея так скрытый текст Выделить код Код:SET !REPLAYSPEED FAST SET !ERRORIGNORE YES TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT SET !VAR1 EVAL("'{{!EXTRACT}}'.match(/(.*?)\\s·\\s\\d+/).pop()") SET !EXTRACT NULL ADD !EXTRACT {{!VAR1}} SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1") TAG POS={{!LOOP}} TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_A.txt |
Egorushka1974 > 20-11-2017 11:08:49 |
Alladin пишет
я не гарантирую работоспособность кода, не знаю с какого сайта, скрытый текст Выделить код Код:var a = 0, b = 0, c = 0, d = 0; //в заголовок скрипта, где объявляются переменные var Path='C:\\papka1\\papka2\\';//путь до папки куда сохраняем результаты. for(w=1; w=1000; w++){//поставьте ваше число iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'); var a = iimGetExtract().match(/(.*?)\s·\s\d+/).pop(); //вынимаем данные из _32mo iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'); var b = iimGetExtract().match(/(.*?)\s·\s\d+/).pop();//взял вашу регулярку, как работает не проверял, сайт неизвестен iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=*.txt'); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'); var c = iimGetExtract(); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'); var d = iimGetExtract(); iimPlayCode('SET !EXTRACT '+c+'\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL.txt'); var a = 0, b = 0, c = 0, d = 0; //после сохранения данных, обнуляем переменные } да, и расширение должно быть *.js |
InfSub > 20-11-2017 12:21:32 |
Egorushka1974 varимя_переменной? Вы их уже объявили в первой строке |
Egorushka1974 > 20-11-2017 12:45:57 |
InfSub |
InfSub > 20-11-2017 13:49:07 |
Egorushka1974 |
Egorushka1974 > 20-11-2017 14:20:01 |
InfSub пишет
Спасибо, учту на будущее. |
Alladin > 20-11-2017 17:21:42 |
Egorushka1974 Egorushka1974 пишет
Работаю я с результатом поиска на фуйсбуке. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером Возьмем первую группу из списка, в результате в txt в столбик вытаскиваются: скрытый текст Выделить код Код:"Wow Реклама", "Сообщества" , "Нравится: 80 тыс." , "https://www.facebook.com/wowreklama/?ref=br_rs" и так по порядку все что нашлось. Egorushka1974 пишет
эта регулярка тут потому что, в каждом классе дважды указывается url страницы Роде пробегает, видно подсвечивает, но файл с результатом не создается, не понимаю почему. Путь вроде указал верно. В чем может быть причина? скрытый текст Выделить код Код:var a = 0, b = 0, c = 0, d = 0; //в заголовок скрипта, где объявляются переменные var Path='\\Users\\Admin\\Desktop\\iMacros\\';//путь до папки куда сохраняем результаты. for(w=1; ; w++){//поставьте ваше число iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'); var a = iimGetExtract(); //вынимаем данные из _32mo iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'); var b = iimGetExtract().match(/(.*?)\s·\s\d+/).pop();//взял вашу регулярку, как работает не проверял, сайт неизвестен iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=*.txt'); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'); var c = iimGetExtract(); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'); var d = iimGetExtract(); iimPlayCode('SET !EXTRACT '+c+'\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL.txt'); var a = 0, b = 0, c = 0, d = 0; //после сохранения данных, обнуляем переменные } замечание InfSub |
InfSub > 20-11-2017 19:08:37 |
Alladin пишет
Потому что, там ошибка и должен стоять не оператор присваивания =, а оператор равенства ==Alladin пишет
Если у вас Windows, должен быть указан диск, если *nix, корректный путь, в никсах нет обратных слешей в пути |
Alladin > 20-11-2017 19:20:40 |
InfSub пишет
у меня mac os. я правильно вас понял скрытый текст /Users/Admin/Desktop/iMacros сейчас именно так путь выставил, и поставил w==10 он вообще не реагирует на запуск. убрал w==10, код запустился но опять не создает txt файл. чет я совсем запутался, что не так то. скрытый текст Выделить код Код:var a = 0, b = 0, c = 0, d = 0; //в заголовок скрипта, где объявляются переменные var Path= '/Users/Admin/Desktop/iMacros/';//путь до папки куда сохраняем результаты. for(w=1; w==10 ; w++){//поставьте ваше число iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'); var a = iimGetExtract(); //вынимаем данные из _32mo iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'); var b = iimGetExtract().match(/(.*?)\s·\s\d+/).pop();//взял вашу регулярку, как работает не проверял, сайт неизвестен iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=*.txt'); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'); var c = iimGetExtract(); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'); var d = iimGetExtract(); iimPlayCode('SET !EXTRACT '+c+'\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL_URL.txt'); var a = 0, b = 0, c = 0, d = 0; //после сохранения данных, обнуляем переменные } |
InfSub > 20-11-2017 19:27:43 |
Alladin 20-11-2017 19:29:19 Alladin пишет
Полностью строку параметров цикла покажите |
Alladin > 20-11-2017 19:31:02 |
InfSub пишет
путь взял из "свойства папки", какой там указан, такой и указал в коде |
InfSub > 20-11-2017 19:32:50 |
Alladin |
Alladin > 20-11-2017 19:36:43 |
InfSub пишет
вот в таком виде код, нажимаю "воспроизвести", и не чего не происходит скрытый текст Выделить код Код:var a = 0, b = 0, c = 0, d = 0; //в заголовок скрипта, где объявляются переменные var Path= '*';//путь до папки куда сохраняем результаты. for(w=1; w==10 ; w++){//поставьте ваше число iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'); var a = iimGetExtract(); //вынимаем данные из _32mo iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'); var b = iimGetExtract().match(/(.*?)\s·\s\d+/).pop();//взял вашу регулярку, как работает не проверял, сайт неизвестен iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL_URL.txt'); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'); var c = iimGetExtract(); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'); var d = iimGetExtract(); iimPlayCode('SET !EXTRACT '+c+'\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL_URL.txt'); var a = 0, b = 0, c = 0, d = 0; //после сохранения данных, обнуляем переменные } верно, тут же заменить путь к папке? скрытый текст 20-11-2017 19:45:24 InfSub пишет
попробовал так скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); и так скрытый текст Выделить код Код:var Path= '*'; iimPlayCode('SET !EXTRACT '+a+'\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER='+Path+' FILE=URL_URL.txt'); не создает нигде файл txt |
InfSub > 20-11-2017 19:50:53 |
Alladin, Egorushka1974, кстати да, еще одна ошибка Egorushka1974, он написал var'ы там где не надо, но перед переменной wнет обьявления переменной т. е.: var w=1; 20-11-2017 19:53:43 |
Egorushka1974 > 20-11-2017 19:56:12 |
InfSub пишет
ну то что ошибка, признаю, виноват, делал на работе в пол глаза глядя в монитор. |
InfSub > 20-11-2017 20:05:42 |
Alladin скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT "'+a+'"\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); отсутствовали двойные кавычки при присвоении !extract значения 20-11-2017 20:07:12 Egorushka1974 пишет
Тогда вам везде придется прибавлять к w единицу |
Alladin > 20-11-2017 21:14:54 |
InfSub, Egorushka1974 InfSub пишет
Начал создавать txt файл. Но работает не корректно: скрытый текст Выделить код Код:var a = 0, b = 0, c = 0, d = 0; //в заголовок скрипта, где объявляются переменные for(w=1; w==5 ; w++){//поставьте ваше число iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'); var a = iimGetExtract(); //вынимаем данные из _32mo iimPlayCode('TAG POS='+w+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT'); var b = iimGetExtract().match(/(.*?)\s·\s\d+/).pop();//взял вашу регулярку, как работает не проверял, сайт неизвестен iimPlayCode('SET !EXTRACT " '+a+'"\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'); var c = iimGetExtract(); iimPlayCode('TAG POS='+w+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'); var d = iimGetExtract(); iimPlayCode('SET !EXTRACT " '+c+'"\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); var a = 0, b = 0, c = 0, d = 0; //после сохранения данных, обнуляем переменные } он записывает все в кучу и беспорядочно: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. а первоначальным кодом: скрытый текст Выделить код Код:SET !REPLAYSPEED FAST SET !ERRORIGNORE YES TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT SET !VAR1 EVAL("'{{!EXTRACT}}'.match(/(.*?)\\s·\\s\\d+/).pop()") SET !EXTRACT NULL ADD !EXTRACT {{!VAR1}} SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1") TAG POS={{!LOOP}} TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_TEST.txt писал все ровно и по порядку: скрытый текст "название группы", "тип группы", "кол-во like this", "URL группы" Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. И еще, там в DOM ссылка на группу два раза прописана в разных div[class. И по этому добавлено было условие скрытый текст Выделить код Код:SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1") TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF а в этом js, этого условия нет, он дублирует ссылки на группы на следующей строке, хотя там уже данные по другой группе. 20-11-2017 21:18:01 InfSub пишет
так он хоть запускается скрытый текст а так даже не реагирует на "воспроизвести" скрытый текст |
InfSub > 20-11-2017 21:39:47 |
Alladin пишет
да, только значение переменной w верните равным единице, как уже писал выше - отвечал с телефона на ходу, по этому слона и не заметил, Egorushka1974 был прав по поводу условия, должно быть меньше или равно 0 иначе цикл действительно не запустится Alladin пишет
так замените условие w++ на нужное вам w++*2-1 20-11-2017 21:43:35 скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT "'+a.replace(/\s+/g,' ')+'"\nADD !EXTRACT "'+b.replace(/\s+/g,' ')+'"\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); |
Alladin > 20-11-2017 22:21:49 |
InfSub скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT " '+a+'"\nADD !EXTRACT '+b+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt'); iimPlayCode('SET !EXTRACT " '+c+'"\nADD !EXTRACT '+d+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_URL.txt') вот и получается что вторую часть он кидает на следующую строку. Когда я писал код под iim, я так видел это: скрытый текст и берем в экстракт скрытый текст потом кидаем этот экстракт в переменную и чистим от ненужного скрытый текст обнуляем экстракт, и в чистый экстракт добавляем переменную вар1. потом туда дописываем скрытый текст и дописываем скрытый текст но уже для этого тэга ставим условие скрытый текст это и позволяет второй раз не дублировать ссылки в конечном результате скрытый текст Выделить код Код:SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1") TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF и в конце весь результат кидается в txt. Вот я и не знаю, как этот алгоритм в js прописать. |
InfSub > 20-11-2017 23:25:21 |
Alladin |
Alladin > 20-11-2017 23:50:01 |
InfSub скрытый текст Выделить код Код:SET !VAR1 EVAL("var i={{!LOOP}};i++*2-1") TAG POS={{!VAR1}} TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF |
InfSub > 21-11-2017 00:56:31 |
Alladin скрытый текст Выделить код Код:const n='\n'; for (let i=j=1, r; i<=1000; j=++i*2-1){ iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_A.txt' ); }; |
Alladin > 21-11-2017 01:51:12 |
InfSub Egorushka1974 |
Alladin > 21-11-2017 15:01:44 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. добавил к коду условие, что если с этим блоком встречается, выполняет другой код, и продолжает дальше со следующего блока скрытый текст Выделить код Код:if (iimGetLastExtract().match() == null) { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); }; но он не срабатывает. Не подскажите где ошибка? Весь код целиком скрытый текст Выделить код Код:const n='\n'; var a= "ПУСТО" for (let i=j=1, r; i<=20; j=++i*2-1){ iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); if (iimGetLastExtract().match() == null) { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); }; }; |
dim222 > 21-11-2017 16:34:08 |
Чой-то догнать не могу. Подскажите плиз. так запросом получаю куки для следующего захода Выделить код Код:X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); x=new X(); HEADERS=x.getResponseHeader('set-cookie') Имеет такой вид
при вставке цитат или результатов вывода используйте теги code или quote для корректного отображения Но как обновить эту куку в JSON.файле тяму не хватает. InfSub |
Egorushka1974 > 21-11-2017 16:53:28 |
Alladin пишет
Да, пожалуйста. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером 3 замечание, бан на неделю InfSub |
Alladin > 21-11-2017 18:01:08 |
Egorushka1974 пишет
Спасибо. Пытаюсь выставить условия для цикла, но чет не хочет он работать. Битый час бьюсь уже. Суть в том, что бы перед выполнением кода, проверялось, если нет такого, то записываем "пусто". скрытый текст Выделить код Код:const n='\n'; var a= "ПУСТО" for (let i=j=1, r; i<=10; j=++i*2-1){ iimPlayCode( 'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT') q=iimGetLastExtract() if (q == true) { iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } if (q == false) { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } }; |
karginaolga > 21-11-2017 18:15:48 |
Alladin скрытый текст смотрите алертом что именно попадает в переменную q |
Alladin > 21-11-2017 18:47:37 |
karginaolga скрытый текст
тогда else. Но как это вставить в условие? |
karginaolga > 21-11-2017 19:12:36 |
Alladin скрытый текст Выделить код Код:if (iimGetLastExtract().indexOf("like this")>0) { //*********** } else { //*********** } и научитесь задавать конкретные вопросы: пробираемся в квартиру, заходим на кухню, если есть телевизор то забираем и уносим ноги если нету уносим ноги |
Alladin > 21-11-2017 19:29:48 |
karginaolga пишет
учту скрытый текст
и ошибка, ему не откуда брать предыдущие дынные. А можно GetLastExtract заменить на другую команду. Заходим в DOM сектора, если есть like this работаем, если нет тогда else |
karginaolga > 21-11-2017 19:44:15 |
попробуйте в кавычках оставить только like скрытый текст Выделить код Код:var q = window.document.querySelectorAll('a[style="outline: 1px solid blue;"][href^="/search/"]')[i].outerHTML; if (q.indexOf("like")>0) { //*********** } else { //*********** } |
Alladin > 21-11-2017 19:52:04 |
karginaolga скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером 7й-8й-9й блок без лайков, скрипт и не знает на что смотреть. 21-11-2017 19:53:50 InfSub |
karginaolga > 21-11-2017 20:02:15 |
Alladin скрытый текст Выделить код Код:if (window.document.querySelectorAll('a[style="outline: 1px solid blue;"][href^="/search/"]')[i]) { //если есть } else { //если нету } у меня вообще нету, вот что есть: скрытый текст Выделить код Код:var q = window.document.querySelectorAll('div[class="_glm"]')[0].textContent; alert(q); |
Alladin > 21-11-2017 20:13:47 |
karginaolga вот так сейчас сработало, но он доходя до сектора без лайков, начинает с else и все последующие циклы пишет как в условиях else, как будто не выходит из цикла else скрытый текст Выделить код Код:const n='\n'; var a= "ПУСТО" for (let i=j=1, r; i<=25; j=++i*2-1){ if (window.document.querySelectorAll('a[style="outline: 1px solid blue;"][href^="/search/"]')[i]) { iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } else { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } }; 21-11-2017 20:17:00 karginaolga пишет
а вот что у меня скрытый текст |
karginaolga > 21-11-2017 20:18:09 |
вот здесь с нуля идет отсчет [i] |
Alladin > 21-11-2017 20:24:03 |
karginaolga скрытый текст Выделить код Код:if (window.document.querySelectorAll('a[style="outline: 1px solid blue;"][href^="/search/"]')[i-1]) не работает, вот результат скрытый текст
а должен только там где нет лайков писать "пусто" 21-11-2017 20:33:08 скрытый текст Выделить код Код:var q = window.document.querySelectorAll('div[class="_pac"]')[i].outerHTML; if (q.indexOf("like")>0) { вообще ругается на эту строчку скрытый текст когда снова доходит до блоков с лайками |
karginaolga > 21-11-2017 21:02:55 |
Alladin скрытый текст Выделить код Код:var q = window.document.querySelectorAll('div._glm')[i-1].textContent.match(/\d+/); if (q != null) { alert('ok'); } else { alert('no'); } |
Alladin > 21-11-2017 21:16:38 |
karginaolga пишет
да, но: после проработки по else он перепрыгивает одну группу, а лайки прописывает из группы через +3й, в итоге одна пропущенная группа после "пусто", и лайки берет из группы которая следующая 3я по счету. чет каша получается. Но в целом заканчивает без ошибок. 21-11-2017 21:26:33 скрытый текст скорее всего тут и происходит путаница скрытый текст Выделить код Код:const n='\n'; var a= "ПУСТО" for (let i=j=1, r; i<=25; j=++i*2-1){ var q = window.document.querySelectorAll('div._glm')[i-1].textContent.match(/\d+/); if (q != null) { iimPlayCode('TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } else { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } }; |
karginaolga > 21-11-2017 21:38:43 |
Alladin скрытый текст Выделить код Код:const n='\n'; var a = "ПУСТО", z = 0; for (let i=j=1, r; i<=25; j=++i*2-1) { var q = window.document.querySelectorAll('div._glm')[z].textContent.match(/\d+/); if (q != null) { iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } else { iimPlayCode('SET !EXTRACT NULL'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'ADD !EXTRACT "'+a+'"'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } z++; }; |
Alladin > 21-11-2017 21:44:50 |
karginaolga 21-11-2017 21:54:07 скрытый текст Выделить код Код:for (let i=j=1, r; i<=25; j=++i*2-1) { iimPlayCode( 'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_32mo EXTRACT=TXT'+n +'TAG POS='+i+' TYPE=DIV ATTR=CLASS:_pac EXTRACT=TXT' ); r=iimGetLastExtract().match(/(.*?)\s·\s\d+/).pop(); iimPlayCode( 'SET !EXTRACT "'+r+'"'+n +'TAG POS='+i+' TYPE=A ATTR=HREF:*LIKERS* EXTRACT=TXT'+n +'TAG POS='+j+' TYPE=A ATTR=DATA-TESTID:SERP_RESULT_LINK* EXTRACT=HREF'+n +'SAVEAS TYPE=EXTRACT FOLDER=* FILE=URL_AAA.txt' ); } и когда срабатывает else цикл ломается, вот и получается кто в лес кто по дрова пошло записываться, он же продолжает перебирать из ранее прописанного условия. думаю методом else нужно прописать что бы просто пропускал всю дерикторию/блок где нет like. Как думаете? 21-11-2017 22:03:09 |
InfSub > 22-11-2017 00:30:15 |
Alladin пишет
изначально неправильно сформулирована схема работы скрипта форум существует, в первую очередь для того, чтобы помочь, если вы не можете найти то или иное решение, не знаете чего либо, но не для того, чтобы писать весь код за вас, для этого есть отдельный топик для заказа скриптов
надеюсь не надо объяснять почему? или все же стоит напомнить изначальный вопрос о том, что: iim-код начал тормозить и что можно с этим сделать, а перерос в вопросы кривого экспорта данных, которые вы даже на iim-скриптах не тестировали скрытый текст что вы тут пытаете найти пустым .match() ? где регулярное выражение, результат которого вы сравниваете с null? о чем этого говорит? что вы не думаете о том, что пишите, а если думаете, то не понимаете, это как выучить слова иностранного языка, но не уметь составлять предложения, слова верные, но вместо фразы - словесный понос. Egorushka1974, выше вам дал ссылку на сайт по js, начните с него, как минимум для понимания основ, да и не только основ - этого хватит |
Alladin > 22-11-2017 01:13:02 |
InfSub InfSub Спасибо что нашли вчера время, и подкорректировали код в рабочее состояние. И нашли сегодня время, что бы написать такой талмуд пожеланий и умозаключений. Я учту. |
InfSub > 22-11-2017 02:26:46 |
Alladin пишет
читайте внимательно за что у вас замечания, ни одного по поводу того, что вы сейчас пишите, но все связанные с оформлением постов: скрытый текст https://forum.mozilla-russia.org/viewto … 77#p746277 https://forum.mozilla-russia.org/viewto … 95#p746295 https://forum.mozilla-russia.org/viewto … 00#p746300 https://forum.mozilla-russia.org/viewto … 61#p746561 https://forum.mozilla-russia.org/viewto … 50#p747950 https://forum.mozilla-russia.org/viewto … 42#p748142 я бы сказал, что это уже на 2 замечания, а не на одно... мне исправить? (читайте правила раздела, они дополняют основные правила форума и имеют ту же силу) Alladin пишет
в правилах прописано, конкретно, вопросы по js уровня a+b считаются флудом и не потому что a+b это для профессионалов, а потому что большинству лень читать и изучать js (изучите основы, больше половины возникших выше у вас вопросов - связано с незнанием js)
речь не о том что вы тестировали или нет, речь о том, что я не вижу ваших собственных попыток решить проблему, только результаты работы чужого кода 22-11-2017 02:38:44 Alladin пишет
проблема не в уровне вопросов, а в том, что получив готовое решение - вы ни когда не научитесь думать собственной головой, не научитесь искать ответы самостоятельно я могу вам написать код за 10 минут, могу изложить его суть, не реализовывая в коде, но что это даст лично вам? ни чего |
Flanker > 22-11-2017 07:45:14 |
здравствуйте. как регуляркой из значения, полученого в iimGetLastExtract , выбросить первую цифру, оставит только две последние? код Выделить код Код:iimPlayCode('TAG POS=1 TYPE=A ATTR=CLASS:data EXTRACT=HTM'); data=iimGetLastExtract().replace(/\D+/g,"").match(/\d{3}/).pop(); alert(data); // выдаёт 123, надо только 23. |
karginaolga > 22-11-2017 08:43:02 |
Flanker |
InfSub > 22-11-2017 11:19:04 |
Flanker скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=A ATTR=CLASS:data EXTRACT=HTM'); data=iimGetLastExtract().replace(/\D+/g,"").match(/\d(\d{2})/).pop(); alert(data); |
artbook2 > 22-11-2017 15:17:33 |
Здравствуйте, у меня возникла такая проблема- макрос никак не хочет работать с веб сайтом телеграмма - то есть он его просто не видит, не видит какие действия я пытаюсь записать на нем, не знаете в чем может быть проблема?спасибо |
InfSub > 22-11-2017 15:25:44 |
artbook2 |
artbook2 > 22-11-2017 18:11:49 |
удалено, п.п. 1.4 InfSub |
FastSpeed > 24-11-2017 01:27:26 |
Вопрос. Имею на странице следующий текст: скрытый текст Пытаюсь командой макрос извлечь текст, он его извлекает, все хорошо. Проблема в том, что этот текст на странице может быть виден и может быть не виден. Текст извлекается в обоих случаях. Кароче в коде страницы он есть всегда, в не зависимости виден он или нет. Как проверить "виден текст или нет"? |
InfSub > 24-11-2017 02:03:16 |
FastSpeed |
FastSpeed > 24-11-2017 10:02:17 |
InfSub, Спасибо, там текст был с атрибутом display: none. Проверил по этому атрибуту и все ок. |
stalker46 > 25-11-2017 17:44:21 |
здравствуйте уважаемый форумчане, пожалуйста подскажите команду, которую нужно ввести в скрипте для сайта одноклассники, чтобы посещать всех пользователей из определенной группы, проблема в том, что посещение идет только тех людей, которых видно сразу, а потом скрипт останавливается и не посещает всех людей из группы |
InfSub > 25-11-2017 18:09:10 |
stalker46 |
Squatter > 27-11-2017 09:57:40 |
Подскажите, почему обработчик срабатывает только после повторного запуска во всех трёх вариантах: скрытый текст Выделить код Код:window.open("https://forum.mozilla-russia.org/"); window.onload = function () { alert('DOM ready'); }; Выделить код Код:var ready = window.open("https://forum.mozilla-russia.org/"); ready.onload = function () { alert('DOM ready'); }; Выделить код Код:window.open("https://forum.mozilla-russia.org"); window.addEventListener("DOMContentLoaded", function (){alert('DOM ready')}); А если открывать ссылку в активной вкладке, то вообще не срабатывает. Может есть какое-нибудь решение для imacros, как работать с DOM, не дожидаясь полной загрузки страницы? |
karginaolga > 27-11-2017 11:17:14 |
Squatter |
Squatter > 28-11-2017 03:25:23 |
karginaolga, проблема не в этом, а в том, что обработчик срабатывает только на втором открытии новой вкладки, видимо потому что документ уже изначально загружен: скрытый текст Выделить код Код:var i=1; function ready() { alert('DOM ready ' + i); }; for (;;i++){ window.open("https://forum.mozilla-russia.org"); window.addEventListener("DOMContentLoaded", ready);//Начнёт срабатывать только со второй итерации iimPlay("CODE:PAUSE"); } Поэтому нужно привязывать обработчик к действиям с вкладками. Но поскольку глобальная переменная gBrowser не определяется напрямую из макроса, то придётся открыть к ней доступ через QueryInterface как описано тут Полное решение с переходом на активную новую вкладку: скрытый текст Выделить код Код:var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow); //Заворачиваем открытие вкладки и переход на неё в метод getBrowserForTab(), чтобы определить цель события для обработчика var newTabBrowser = mainWindow.gBrowser.getBrowserForTab(mainWindow.gBrowser.selectedTab = mainWindow.gBrowser.addTab("https://forum.mozilla-russia.org/")); //Любая функция, которая будет вызываться обработчиком function ready(){ alert(newTabBrowser.contentDocument.body.innerHTML); newTabBrowser.removeEventListener("DOMContentLoaded", ready, true);//Удаляем обработчик }; //Назначаем обработчик для newTabBrowser, который сработает на этапе загрузки HTML newTabBrowser.addEventListener("DOMContentLoaded", ready, true); Таким образом можно парсить DOM не дожидаясь загрузки стилей, изображений и фреймов. Или напротив откладывать работу до полной загрузки содержимого страницы: скрытый текст |
s.stake > 29-11-2017 21:43:35 |
Пдскажите, почему в таком виде скрытый текст Выделить код Код:SET !DATASOURCE TEST_1.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !DATASOURCE_DELIMITER ; URL GOTO={{!COL4}} выдает ошибку скрытый текст
а в таком виде работает без ошибок скрытый текст Выделить код Код:SET !DATASOURCE TEST_1.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !DATASOURCE_DELIMITER ; SET !DATASOURCE TEST_1.csv URL GOTO={{!COL4}} и именно когда перед url goto второй раз продублирован путь до файла. Почему так? |
InfSub > 30-11-2017 02:09:48 |
s.stake
|
s.stake > 30-11-2017 14:27:50 |
InfSub пишет
спасибо |
s.stake > 02-12-2017 19:15:54 |
Подскажите кто знает, как на Mac os путь к файлу указать, перепробовал разные варианты, и все-равно пишет: скрытый текст
оба файла находятся по указанному пути. Путь взял и свойства файла. Папка с файлами не защищена, галка стоит что папка общая. Права на чтение и запись. скрытый текст Выделить код Код:function readExt(filename){return imns.FIO.readTextFile(imns.FIO.openNode(filename))}//ЧТЕНИЕ ФАЙЛА var path = '/Users/myBook/Desktop/iMacros/' var file = 'url.txt' var fileText = 'text.txt' var arrUrl = readExt(path+'\\'+file).split('\n') //читаем ссылки var text = readExt(path+'\\'+fileText ) //читаем текст iimDisplay(arrUrl ) for(i=0; i<arrUrl.length; i++){ //..цикл по количесву ссылок iimPlayCode('URL GOTO='+arrUrl[i]) // заходим по ссылке(каждый раз новая) } |
darkzp > 03-12-2017 15:43:44 |
Подскажите как можно нажать кнопку send в web telegram скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV>DIV>FORM>DIV:nth-of-type(3)>BUTTON" BUTTON=0 Но есть вероятность что дом может быть другой и этот код уже не будет работать.. хотелось бы 100% вариант. Так почему то не хочет. скрытый текст html скрытый текст Выделить код Код:<button type="submit" class="btn btn-md im_submit im_submit_send" ng-class="draftMessage.type == 'edit' ? 'im_submit_edit' : 'im_submit_send'"> <span data-content="Send" class="im_submit_send_label nocopy" my-i18n="im_submit_message"></span> <span data-content="Save" class="im_submit_edit_label nocopy" my-i18n="im_submit_edit_message"></span> </button> |
kani339 > 04-12-2017 19:46:57 |
Подскажите в чем может быть причина такого поведения. Загрузка картинки через js код не выполняется, и не выкидывает ошыбку, если делаю тоже самое скрытый текст Выделить код Код:immPlayCode('TAG POS=1 TYPE=INPUT:FILE FORM=ID:edit_product_* ATTR=ID:image-upload CONTENT=my<SP>pictures.png') HTML скрытый текст Выделить код Код:<input id="image-upload" data-bind-show="!isUploading()" data-bind-event-change="fileInputChanged(event, this)" multiple="" accept="image/*" class="js-no-dirty" type="file"> |
InfSub > 04-12-2017 20:34:54 |
kani339 04-12-2017 20:40:57 |
Egorushka1974 > 04-12-2017 21:43:55 |
darkzp пишет
а так попробуй скрытый текст Выделить код Код:window.document.querySelector('button[type=submit][class="btn btn-md im_submit im_submit_send"]').click(); |
darkzp > 05-12-2017 14:28:49 |
Egorushka1974 InfSub |
Squatter > 05-12-2017 15:37:16 |
darkzp Когда EVENT TYPE=CLICK записывали макросом, он там фрейм не определил, случайно? |
darkzp > 05-12-2017 16:22:04 |
Squatter, Нет |
ser649 > 08-12-2017 13:14:35 |
Здравствуйте всем!) Подскажите как сделать?. Нужно зайти на сайт, затем проверить объект(цифру), если больше 0, то записать адрес из адресной строки в txt файл. |
InfSub > 08-12-2017 13:58:04 |
ser649 |
ser649 > 08-12-2017 14:45:40 |
InfSub InfSub |
InfSub > 08-12-2017 14:56:30 |
ser649 |
googlenoob > 08-12-2017 16:26:19 |
ser649 скрытый текст Выделить код Код:var f_url='url.csv'; var f_yes='yes.csv'; var i=1,u,n='\n'; while(iimPlayCode('SET !DATASOURCE '+f_url+n+'SET !DATASOURCE_LINE '+(i++)+n+'SET !EXTRACT {{!COL1}}'+n)==1){ u=iimGetLastExtract(); if(iimPlayCode('URL GOTO='+u+n+'SET !TIMEOUT_STEP 10'+n+'Здесь Ваше условие. В моём был код поиска определенной капчи.'+n)==1){ iimPlayCode('SET !EXTRACT '+u+n+'SAVEAS TYPE=EXTRACT FOLDER=* FILE='+f_yes+n); }; }; iimDisplay('End file: '+f_url); замечание InfSub |
dim222 > 08-12-2017 16:50:19 |
Уважаемые! Подскажите " софт" отображения содержимого файлов (для мониторинга). |
Squatter > 08-12-2017 17:13:17 |
dim222, В смысле? Прямое чтение содержимого не подходит? скрытый текст Выделить код Код:alert(imns.FIO.readTextFile(imns.FIO.openNode("C:\\Users\\Desktop\\Filename.txt"))); |
dim222 > 08-12-2017 18:05:45 |
Squatter |
InfSub > 08-12-2017 18:56:50 |
dim222 08-12-2017 18:57:41 |
ser649 > 08-12-2017 20:59:05 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером Затем нажимаем random, затем смотрим balance, если больше 0, то записываем адрес из адресной строки в файл txt замечание InfSub |
InfSub > 08-12-2017 21:32:35 |
ser649 скрытый текст Выделить код Код:while(1){ iimPlayCode('URL GOTO=https://privatekeys.pw/keys/1'+'\n' +'TAG POS=1 TYPE=A ATTR=CLASS:page-link&&TXT:Random' ); while(iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=CLASS:"badge badge-secondary" EXTRACT=TXT'),iimGetExtract()=='#EANF#'); if(+iimGetExtract().trim()>0){ continue; }else{ iimPlayCode('SET !EXTRACT {{!URLCURRENT}}'+'\n'+'SAVEAS TYPE=EXTRACT FOLDER=* FILE=url.txt'); }; }; |
Gergi > 09-12-2017 10:41:07 |
Всем привет! |
karginaolga > 09-12-2017 11:28:05 |
Gergi скрытый текст |
dim222 > 15-12-2017 16:58:10 |
Hamzat пишет
Подскажите. По какой причине не вставляются куки со сроком действия"до конца сессии". В файл записываются, а ставиться в браузер ни как. |
Squatter > 15-12-2017 19:21:35 |
В iMacros 8.9.7 никто не встречал такой глюк с копированием папок каскадом? FX 53.0 (32-бит) скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
udalov > 15-12-2017 22:00:28 |
Squatter пишет
У меня такое часто бывает - это глюк появляется, если двигаешь полосу скролл-бара в панели Аймакроса, а вместо неё перетаскиваешь папку, и она так дублируется. |
Squatter > 15-12-2017 23:16:08 |
udalov, спасибо. А то не получалось отловить из-за чего это происходит) |
vodogrey > 18-12-2017 14:34:04 |
всем привет, помогите пожалуйста как закрыть окно windows в imacros скрытый текст скрины публикуются под спойлером После выгрузки файла окно остается открытым, можно его как то закрыть скриптом? InfSub |
darkzp > 20-12-2017 11:16:48 |
Подскажите как в js можно что-то подобное достать. |
InfSub > 20-12-2017 12:21:29 |
darkzp скрытый текст {{!FOLDER_MACROS}} не работает в FF, читайте офф. вики |
vodogrey > 20-12-2017 21:46:04 |
InfSub что это значит? как сделать чтобы это окно закрывалось само? |
InfSub > 20-12-2017 21:54:57 |
vodogrey |
Gergi > 21-12-2017 16:02:16 |
Всем привет! |
InfSub > 21-12-2017 16:45:10 |
Gergi |
Squatter > 21-12-2017 17:41:06 |
Gergi скрытый текст Выделить код Код:var cm = Components.classes["@mozilla.org/cookiemanager;1"] .getService(Components.interfaces.nsICookieManager); cm.removeAll(); Удалить куки по имени или для конкретного домена скрытый текст Выделить код Код:var cm = Components.classes["@mozilla.org/cookiemanager;1"] .getService(Components.interfaces.nsICookieManager); var cookies = cm.enumerator; while (cookies.hasMoreElements()) { var cookie = cookies.getNext().QueryInterface(Components.interfaces.nsICookie); cm.remove(cookie.host, cookie.name, cookie.path, false); } Соответственно для домена так скрытый текст по имени так скрытый текст Можно всё вместе На всякий случай, данные методы как и команда CLEAR не работают в режиме инкогнито. |
Gergi > 21-12-2017 18:42:22 |
Вот например из аккаунта ВК выходит,но при повторном входе высвечивается старый логин,а если вручную очистить то всё нормально |
Squatter > 21-12-2017 19:11:43 |
Gergi как чистили? Конкретный код? |
InfSub > 21-12-2017 19:12:49 |
Gergi |
Gergi > 21-12-2017 19:15:15 |
скрытый текст Выделить код Код:var cm = Components.classes["@mozilla.org/cookiemanager;1"] .getService(Components.interfaces.nsICookieManager); cm.removeAll(); iimPlayCode('WAIT SECONDS=115') |
Squatter > 21-12-2017 19:39:34 |
Gergi, это полностью удаляет все куки в браузере. Там старой сессии неоткуда взяться. скрытый текст Выделить код Код:var cm = Components.classes["@mozilla.org/cookiemanager;1"] .getService(Components.interfaces.nsICookieManager); var cookies = cm.enumerator; while (cookies.hasMoreElements()) { var cookie = cookies.getNext().QueryInterface(Components.interfaces.nsICookie); cm.remove('.vk.com', cookie.name, cookie.path, false); } Дело точно не в кукисах. |
Gergi > 21-12-2017 21:25:54 |
Проблема такая! |
Gergi > 22-12-2017 15:54:58 |
Подскажите как разбить на три ячейки скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT '+iphttp+'"'+u1+'"'+u2+'\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=IP.txt'); Помню этот вопрос тут не раз обсуждался,но по поиску не нашёл. |
InfSub > 22-12-2017 16:16:31 |
Gergi |
FastSpeed > 23-12-2017 09:53:04 |
Как сюда кликнуть? скрытый текст ссылки на изображения публикуются в тегах IMG загрузка изображений должна быть анонимной (без использования зарегистрированных аккаунтов на фотохостингах) Что только не перепробовал: скрытый текст Выделить код Код:window.document.querySelector(".textarea textarea_theme_normal textarea_size_s comment-form__textarea").click() window.document.querySelector(".comment-form__textarea").click() window.document.querySelector(".textarea__control").click() Не работает InfSub |
googlenoob > 23-12-2017 18:34:40 |
FastSpeed пишет
А это где? |
Squatter > 23-12-2017 18:51:47 |
FastSpeed, как вариант, по своим координатам скрытый текст Там класс вложенного спана меняется при наведении курсора и видимо клик возможен только в фокусе. |
FastSpeed > 23-12-2017 22:36:49 |
Squatter пишет
Это не вариант. Также как и EVENT события. Они зависают. googlenoob пишет
Коменты ссылок ЯД. |
Squatter > 23-12-2017 23:22:20 |
FastSpeed для рекламы достаточно временно кинуть фильтр в адблок. Например скрытый текст Плюс, юзерагентом можно поставить какорй-нибудь Windows Phone Browsers и ходить по ссылке вида wr_XXXXXXXXX?pane=comments на форму ответа для мобильных устройств, где рекламы вообще нет. Вариантов масса... UPD Вот так будет работать скрытый текст Выделить код Код:window.document.querySelector('textarea[placeholder="Написать комментарий"]').focus(); window.document.querySelector('textarea[placeholder="Написать комментарий"]').value="TEXT"; //Нажимаем ENTER var evt = window.document.createEvent("KeyboardEvent"); evt.initKeyEvent ("keypress", true, true, window,0, 0, 0, 0,13, 13); window.document.querySelector('textarea[placeholder="Написать комментарий"]').dispatchEvent(evt); |
FastSpeed > 24-12-2017 22:05:19 |
Спасибо огромное, работает! |
zurterospi > 27-12-2017 14:19:03 |
Ребята, привет! Слушайте, а как аймакрос поставить на навейшую версию фаерфокса Квантум? Там пишет что аймакрос не ставится вообще на новую версию. А я обновился до новой версии. Ну и что теперь делать? Что-то я не в курсе последних событий. Пару лет назад пользовался и фаерфоксом и аймакросами и всё было нормально. Теперь балалайка какая-то. Ничего не понимаю... Что изменилось в последние дни, часы, месяцы? |
InfSub > 27-12-2017 16:12:25 |
zurterospi |
stalker50 > 29-12-2017 08:51:08 |
добрый день. скрытый текст Выделить код Код:for(i=1; i<=74; i++){ iimPlay("CODE:URL GOTO=https://kolesa.kz/my/?tab=archive&sort_by=date-desc&page="+i+""); iimDisplay('востановленно '+ ((i-1)*40)) код публикуется в тегах code под спойлером InfSub |
stalker50 > 29-12-2017 10:14:36 |
Добрый день. как запустить js файл из imm хром версия. или куда можно разместить js файл чтобы его потом запустить? путь к js C:\iMacros\Macros\востановить.js |
Squatter > 29-12-2017 11:41:40 |
stalker50, декремент в цикле скрытый текст В хромовой версии плеер JS файлов не предусмотрен. Юзайте iMacros version 8.9.7 (works with Firefox 30.0 - 49.*) З.Ы. Арифметические действия в iimDisplay могут менять значения глобальных переменных, т.к. по сути это обычная функция. |
stalker50 > 29-12-2017 17:28:14 |
скрытый текст Эту часть кода я понял, как быть с переходом страниц? скрытый текст Выделить код Код:iimPlay("CODE:URL GOTO=https://kolesa.kz/my/?tab=archive&sort_by=date-desc&page="+i+""); } |
microbiolog > 29-12-2017 17:30:07 |
добрый день. работало все месяца 2 нормально, потом я попытался запускать FF(firefox) под разными профайлами и что то сломалось: скрытый текст Выделить код Код:Set iim1 = CreateObject("iMacros") i = iim1.iimOpen("-fx", True) aa = iim1.iimGetErrorText() переустанавливал FF (чистил реестр, стирал все что находилось на жестком диске, устанавливал 55 версию FF). переустанавливал iMacros (C:\Program Files\Ipswitch\iMacros) что могло произойти, что делать? |
InfSub > 29-12-2017 17:36:39 |
microbiolog |
microbiolog > 29-12-2017 17:51:27 |
InfSub InfSub |
InfSub > 29-12-2017 17:56:18 |
microbiolog |
stalker50 > 30-12-2017 05:00:03 |
Так и не смог разобраться чтобы цикл запустить на уменьшение, с условием вроде все понятно а вот с командой дальнейшей не очень. скрытый текст Выделить код Код:for(i=74; i>0; i--){ } iimPlay("CODE:URL GOTO=https://kolesa.kz/my/?tab=archive&sort_by=date-desc&page="+i+""); } код публикуется в тегах code под спойлером что делать со второй частью как ее правильно прописать на уменьшение? InfSub |
darkzp > 30-12-2017 12:33:03 |
stalker50, код в spoiler, не понятно зачем Вам } }. скрытый текст Выделить код Код:for(i=74; i>0; i--){ iimPlay("CODE:URL GOTO=https://kolesa.kz/my/?tab=archive&sort_by=date-desc&page="+i+""); } |
dim222 > 31-12-2017 11:21:20 |
InfSub пишет
IMacros 8.9.7 также не плохо работает в FF 55 и FF 56. |
stalker50 > 06-01-2018 05:57:47 |
Добрый день. создал код для регистрации на Инстаграмм. скрытый текст Выделить код Код:почта имЯ_пользователЯ пароль 1001maximum+10@mail.ru Svetlana_vladimirovya_150516 max12345 скрытый текст Выделить код Код:var put = 'C:\\iMacros\\Macros\\Обучение'//путь к таблице //var url = 'https://www.yandex.ua'//урл где будем вводить почту var count =5 var tabPoshta = 'Insta.csv';//таблица var inst; var n = '\n'; inst ="CODE:"; //inst +="CLEAR" + n ;// очищаем куки, тем самым выходим если залогинены; inst +="SET !DATASOURCE_DELIMITER ;" + n ;// обозначаем разделитель в таблице ; inst +="CMDLINE !DATASOURCE "+put+"\\"+tabPoshta+ n ; // обозначаем таблицу inst +="SET !DATASOURCE_COLUMNS 3" + n ; //iMacros количество колонок в этом файле inst +="SET !DATASOURCE_LINE {{COUNT}} " + "\n"; //из какой строки по счету нужно извлечь информацию inst += "ADD !EXTRACT {{!COL1}}"+ n ;//почта inst += "ADD !EXTRACT {{!COL2}}"+ n ;//пользователь inst += "ADD !EXTRACT {{!COL3}}"+ n ;//пароль iimPlay(inst) var poshta = iimGetLastExtract(1);//вытягиваем почту в джаваскрипт var nic = iimGetLastExtract(2);//вытягиваем почту в джаваскрипт var pass = iimGetLastExtract(3);//вытягиваем пароль в джаваскрипт var macroVhod; macroVhod ="CODE:"; macroVhod += "URL GOTO=https://www.instagram.com/" + n ;//заход на адрес macroVhod += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:emailOrPhone CONTENT="+poshta+ n ;//вводим в поле почту macroVhod += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:fullName CONTENT="+nic+ n ;//вводим в поле Пользователя macroVhod += "SET !ENCRYPTION NO"+ n ;//не шифруем пароль macroVhod += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:NoFormName ATTR=NAME:password CONTENT="+pass+ n ;//вводим пароль macroVhod += "TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:Sign<SP>up"+ n ;//нажимаем кнопку войти. iimPlay(macroVhod) |
InfSub > 06-01-2018 11:34:15 |
stalker50 |
PRESIDENT > 07-01-2018 10:03:32 |
stalker50 скрытый текст InfSub пишет
|
InfSub > 07-01-2018 11:41:45 |
PRESIDENT 07-01-2018 11:43:23 |
Gergi > 07-01-2018 14:48:41 |
Всем привет! |
InfSub > 07-01-2018 16:10:55 |
Gergi |
Gergi > 14-01-2018 12:06:51 |
Всем привет! скрытый текст Как реализовать это не в секунды а в минуты? |
Aikyaira > 14-01-2018 12:08:04 |
Gergi умножить на 60? |
Gergi > 14-01-2018 12:25:14 |
Aikyaira пишет
хотелось бы что бы 1 отсчитывало одну минуту а не одну секунду. Для того что бы отсчитать одну минуту мне надо прописать 60 а мне надо прописать 1 а не 60 |
Aikyaira > 14-01-2018 12:32:56 |
Gergi |
PRESIDENT > 14-01-2018 14:15:20 |
Gergi Можно так скрытый текст Выделить код Код:wait(3); /***-= Ожидание =-***/ function wait(s){iimPlayCode('WAIT SECONDS='+Number(s*60));} |
Gergi > 14-01-2018 14:45:37 |
PRESIDENT |
dim222 > 14-01-2018 17:27:30 |
Уважаемые! Подскажите сайт(форум) по изучению NODE js! |
PRESIDENT > 14-01-2018 18:13:27 |
dim222 скрытый текст |
Duh > 14-01-2018 22:52:33 |
Делайте еще ветку форума о Katalon Studio. Это реально крутая вещь. Как прокачанная версия аймакроса) |
InfSub > 15-01-2018 03:17:23 |
Duh offtop На счет ветки - вряд ли, продукт не имеет ни какого отношения к Mozilla, но могу сделать временно отдельный топик, будет интерес, подумаем, что можно сделать http://forum.mozilla-russia.org/viewtopic.php?id=73038 |
dim222 > 15-01-2018 20:02:19 |
Уважаемые ,что делаю не так? Пытаюсь авторизоваться через API на EXMO. скрытый текст Выделить код Код:X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); Key='my key', Sign='my sign'; x=new X(); x.open('POST','https://api.exmo.com/v1/user_info',false); x.setRequestHeader('Key', Key); x.setRequestHeader('Sign', Sign); x.setRequestHeader('nonce', Date.now()); x.send(null); window.console.log(x.response) |
InfSub > 15-01-2018 20:12:38 |
dim222 скрытый текст |
dim222 > 16-01-2018 02:00:28 |
InfSub через тело запроса тоже не робит Выделить код Код:X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); Key='my key', Sign='my sign'; var v ='nonce='+Date.now().toString(); x=new X(); x.open('POST','https://api.exmo.com/v1/user_info',false); x.setRequestHeader('Key', Key); x.setRequestHeader('Sign', Sign); x.setRequestHeader('Content-type', v.length); x.send(v); window.console.log(x.response) |
InfSub > 16-01-2018 02:57:36 |
dim222 Sing, а вы его пытаетесь отправить в header'e |
dim222 > 16-01-2018 20:11:10 |
InfSub Ошибка была в неправильном переводе 'Sing' в 'hmac sha512'. |
hellish_cat > 17-01-2018 04:55:51 |
всем привет. подскажите, как с помощью iMacros проверить наличие на странице элемента с определенным классом, например, если на странице есть элемент скрытый текст записать в переменную check значение true, если его нет на странице, то check=false. |
InfSub > 17-01-2018 08:46:12 |
hellish_cat элементарно находится поиском или читается в офф вики |
PRESIDENT > 17-01-2018 16:55:49 |
hellish_cat скрытый текст выражение записывается так: if(iimPlayCode('TAG POS=1 TYPE= divATTR=class:div1')>0)Выделить код Код:if(iimPlayCode('TAG POS=1 TYPE=div ATTR=class:div1')>0) { check=true; } else check=false; более правильнее примерно так Исправлено по аннотации модера!!! скрытый текст А так модер прав, такие мелочи элементарно ищутся по форуму и/или гуглу. |
InfSub > 17-01-2018 18:39:25 |
PRESIDENT пишет
сравнение через тернарный оператор - проще и короче, но не везде подходит, по этому говорить, что так правильнее - считаю неверным скрытый текст |
hellish_cat > 18-01-2018 02:31:16 |
что то не так делаю или чего то не понимаю. код странички простенький: скрытый текст Выделить код Код:<div class="div1">div1</div> <div class="div2">div2</div> <div class="div3">div3</div> <div class="div4">div4</div> а вот результат выполнения iMacros скрытый текст P.S. Колхозный вариант от PRESIDENT дает тот же результат. |
InfSub > 18-01-2018 02:51:14 |
hellish_cat 18-01-2018 03:12:53 скрытый текст Выделить код Код:var check = (iimPlayCode('TAG POS=1 TYPE=div ATTR=class:div5'),iimGetErrorText()=='OK') ? true : false; iimDisplay(check ); |
hellish_cat > 18-01-2018 04:07:41 |
InfSub |
InfSub > 18-01-2018 04:18:16 |
hellish_cat пишет
установи версию 8.9.7 и запрети обновляться |
karginaolga > 18-01-2018 14:18:36 |
Здравствуйте скрытый текст если да, поделитесь решением |
Squatter > 18-01-2018 14:49:32 |
karginaolga, по рекапче всё в соседнем топике iMacros: Капчи, сохранение и распознавание И вы бы упростили задачу на двух форумах, если б дали ссылку на ресурс с вашей рекапчей. |
karginaolga > 18-01-2018 15:37:33 |
Squatter скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. на вкладке Faucet |
Squatter > 18-01-2018 16:36:07 |
karginaolga пишет
Исходя из функции в теле страницы скрытый текст Косметически так скрытый текст |
darkzp > 21-01-2018 03:14:29 |
Подскажите, что не так? скрытый текст |
InfSub > 21-01-2018 13:01:50 |
udalov > 21-01-2018 22:41:13 |
Здравствуйте. Подскажите, есть возможность в ходе работы js-скрипта определять значение TAG POS= у элемента на странице? Если есть, можно пример? |
InfSub > 21-01-2018 22:45:41 |
udalov |
udalov > 22-01-2018 16:08:52 |
Печально... скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0 код публикуется в тегах code под спойлером замечание InfSub |
karginaolga > 22-01-2018 16:49:08 |
udalov |
InfSub > 22-01-2018 17:05:04 |
udalov |
Squatter > 22-01-2018 17:06:56 |
udalov, как вариант, получите все нужные вам дивы в пределах элемента или документа скрытый текст далее перебирайте любым удобным методом скрытый текст |
udalov > 22-01-2018 18:59:43 |
Подскажите, как можно в window.document.querySelector нажать кнопку, её код: скрытый текст Выделить код Код:<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-primary overlay-confirmation-unsubscribe-button yt-uix-overlay-close" onclick=";return false;" type="button"> <span class="yt-uix-button-content"> Отказаться от подписки </span> </button> Вариант скрытый текст Выделить код Код:window.document.querySelector(".yt-uix-button yt-uix-button-size-default yt-uix-button-primary overlay-confirmation-unsubscribe-button yt-uix-overlay-close").click(); не работает, выдавая ошибку window.document.querySelector(...) is null, line 1 (Error code: -991) Также не могу понять, почему в нижеследующем коде не срабатывает второй break, когда в цикле for(e = 4; e <= 10; e++) найдена нужная переменная "е" и нажат её элемент, например, 'EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5). По задумке, после этого цикл должен остановиться и скрипт должен вернуться к циклу for(q = 1; q <= 100; q++), а он крутится дальше, перебирая е=6 и т.д. скрытый текст Выделить код Код:for(q = 1; q <= 100; q++){ iimSet("q", q); iimPlayCode('TAG POS='+q+' TYPE=BUTTON ATTR=TXT:ПодписатьсяВы<SP>подписаныОтменить<SP>подписку'); iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAB T=1 \n TAG POS=2 TYPE=DIV ATTR=CLASS:unsubscribe-confirmation-message EXTRACT=TXT'); var w=iimGetExtract(); if(w=='#EANF#'){ break; }else{ for(e = 4; e <= 10; e++){ iimSet("e", e); iimPlayCode('EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type('+e+')>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0'); break; }}} Скрипт этот должен отписываться от каналов, на которые я подписан в Ютубе на странице скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
InfSub > 22-01-2018 19:05:48 |
udalov пишет
во-первых, уберите else, зачем он там если у вас при срабатывании условия - идет break |
Squatter > 22-01-2018 20:04:22 |
Неправильно селектор указали. Всё гораздо проще. Вот рабочий вариант скрытый текст Выделить код Код:var nodelist = content.document.querySelectorAll('.yt-uix-subscription-button'); for (i=0;i<nodelist.length;i++) { nodelist[i].click(); iimPlay("CODE:PAUSE"); } Правильно нажать на форму подтверждения можно так скрытый текст Выделить код Код:content.document.querySelector('.yt-dialog.preserve-players .overlay-confirmation-unsubscribe-button').click(); |
udalov > 22-01-2018 20:56:42 |
InfSub пишет
если я убираю else скрипт не переходит на второй цикл. |
InfSub > 22-01-2018 21:39:59 |
udalov скрытый текст и ни какой else тут не нужен Squatter уже привел пример, как не городить огород из циклов и event'ов, но все же, по поводу break, какой в нем смысл в вашем цикле, если при такой записи, у вас цикл должен прерваться сразу же, после первого прохода, смысл тогда в условии e <= 10 ? |
udalov > 23-01-2018 17:04:58 |
InfSub пишет
Да, благодаря ему все заработало и код стал намного проще. |
Asia > 25-01-2018 03:39:03 |
Здравствуйте! Подскажите пожалуйста, обновилась мозилла и теперь не работает аймакрос А сейчас он очень понадобился... Подскажите, что можно сделать в таком случае, чтобы опять заработал? |
Egorushka1974 > 25-01-2018 10:48:20 |
Почитать форум и правила. |
InfSub > 25-01-2018 21:16:51 |
Asia |
Gergi > 31-01-2018 15:50:15 |
Добрый день. скрытый текст Выделить код Код:alert(window.document.cookie); iimPlayCode('CLEAR'); iimPlayCode('SET !DATASOURCE_DELIMITER @\nSET !DATASOURCE D:\\dokument.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); d2d=iimGetExtract() function setCookie(name, value, path, domain, secure){ var s = name+''+encodeURIComponent(value)+';'; if(path) s+=' path='+path+';'; if(domain) s+=' domain='+domain+';'; if(secure)s+=' secure;'; window.document.cookie=s; } setCookie(""+d2d+"", "", 3600); alert(window.document.cookie); Я делаю вот так: берёт куки из текстового файла и вставляет в браузер,но откуда то в конце после кук дописывает ; wd=1150x657 если это убрать то думаю должно получиться |
dim222 > 31-01-2018 18:05:30 |
Gergi |
Gergi > 31-01-2018 19:05:41 |
dim222 |
dim222 > 31-01-2018 19:36:51 |
Gergi |
dim222 > 31-01-2018 20:25:39 |
Gergi пишет
думаю здесь все поймешь Выделить код Код:Ci=Components.interfaces,Cu=Components.utils; URL='mozilla-russia.org'// здесь твой урл. /* Получаем куки и сохраняем в json файл */ saveToJSON('D:\\dokument.json',getCookie(URL)) /* Вставляем куки */ obj = readFromJSON('D:\\dokument.json'); setCookie(obj); /* функция вставки кук */ function setCookie(cookies) { this.Cu.import("resource://gre/modules/Services.jsm"); for (var i = 0; i < cookies.length; i++) { Services.cookies.add(cookies[i].host, cookies[i].path, cookies[i].name, cookies[i].value, cookies[i].isSecure, cookies[i].isHttpOnly, cookies[i].isSession, cookies[i].expiry); }; } /* функция получения кук */ function getCookie(domain) { this.Cu.import("resource://gre/modules/Services.jsm") var services = Services.cookies.getCookiesFromHost(domain); var listCookies = []; while (services.hasMoreElements()) { var cookie = services.getNext().QueryInterface(this.Ci.nsICookie2); listCookies.push(cookie); }; return listCookies; } /* функция записи в json файл */ function saveToJSON(fileName, obj) { var fileDescriptor = imns.FIO.openNode(fileName); imns.FIO.writeTextFile( fileDescriptor, JSON.stringify(obj, null, 4) ); }; /* Читаем из формата JSON */ function readFromJSON(fileName) { var fileDescriptor = imns.FIO.openNode(fileName); var text = imns.FIO.readTextFile(fileDescriptor); var obj = JSON.parse(text); return obj; }; |
Gergi > 31-01-2018 21:48:33 |
dim222 31-01-2018 22:00:35 скрытый текст и в него вставляю куки, и спокойно вхожу на фейсбук без пароля и без логина. Вот хотелось бы что бы не вручную вставлять куки в это расширение,а скриптом это делать. |
PRESIDENT > 01-02-2018 00:23:18 |
Gergi dim222 Не мечите бисер перед свиньями... Евангелии от Матфея, 7 глава 6 стих
Gergi пишет
|
Gergi > 01-02-2018 00:33:08 |
PRESIDENT пишет
Код красивый но не рабочий! Ладно не надо эту тему ворошить,и так два дня на это потратил. |
InfSub > 01-02-2018 02:36:05 |
Gergi пишет
что логично, если учесть уровень ваших знаний, то проблема (а по сути, это не проблема вовсе), которая решается за 5 минут, любым человеком, хотя бы немного знакомым с языком js (при том речь не о глубоком уровне знаний, а именно о поверхностном) Gergi дальнейшие необоснованные утверждения, подобного плана, с вашей стороны, в сторону участников форума, будут расцениваться, как личное оскорбление его участников, с соответствующими мерами воздействия (см. правила форума) это же касается и подобных фраз: Gergi пишет
во-первых, грамотный русский язык - ни кто не отменял; |
dim222 > 04-02-2018 17:53:37 |
Ребят, подскажите! Пытаюсь получить HmacSHA512 с сервера (файл php).Все бы ничего ,но из-за знака"&" передаваемого через параметр "message",не выходит. скрытый текст Выделить код Код:X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var secret_key='key', message='ключ=значение&ключ=значение&время в сек.'; x = new X(); x.open('GET', 'http://HmacSHA512.ru/sha512.php?secret='+secret_key+'&string='+message+'', false); x.send(null); window.console.log(x.response); |
InfSub > 04-02-2018 20:29:15 |
dim222 |
dim222 > 04-02-2018 21:04:19 |
если в самом файле пхп прописываю"string"(пример: limit=100&offset=0&ит.д)то все робит. А как запросом правильно сделать,не пойму. файл пхп Выделить код Код:<?php $string=filter_input(INPUT_GET,'string'); $secret=filter_input(INPUT_GET,'secret'); echo hash_hmac('sha512', $string, $secret) ?> |
InfSub > 04-02-2018 21:13:20 |
dim222 скрытый текст в php-файл прописать сложно и посмотреть, в каком виде прилетает? |
udalov > 09-02-2018 12:43:56 |
Здравствуйте. Поделитесь, если у кого есть готовый вариант скрипта для поиска и сохранения в файл всех емайлов на странице. |
InfSub > 10-02-2018 05:15:54 |
udalov 10-02-2018 05:16:33 |
dim222 > 10-02-2018 18:17:05 |
InfSub пишет
Вообще-то нет!(Выдает один и тот же хеш при Date.now() ) И как посмотреть что приходит в пхп я так и не понял. Я так понял, "message" воспринимается не как содержимое "string" (из-за знака '&'), а как перечисление параметров запроса. |
InfSub > 10-02-2018 23:04:58 |
dim222 пишет
dim222 пишет
скрытый текст Выделить код Код:<?php $string=filter_input(INPUT_GET,'string'); $secret=filter_input(INPUT_GET,'secret'); echo 'string: '.$string.'<br>secret: '.$secret.'<br>'; echo hash_hmac('sha512', $string, $secret); ?> dim222 пишет
скрытый текст разве так сложно? 10-02-2018 23:13:54 или опять не понятно о чем речь? |
dim222 > 11-02-2018 08:09:26 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. И без разницы "&" или "&" в "string" попадает до первого "&". получаю string: limit=100 secret: hhijhiyjpjykjkjuklulj 643726e7c90110e29beceb60093839e0fc8d69108144ffbf84973e9c3a3dbb882b1067bb7e83fa3dd63f73ab537c5b9016044f22375451175cfadf4bf00570cc 11-02-2018 08:15:06 InfSub пишет
Параметры разные надо передавать, в зависимости от операции. |
dim222 > 11-02-2018 08:55:48 |
InfSub возвращает нужный хеш Выделить код Код:function sign(message){ return CryptoJS.HmacSHA512(message, config.secret).toString(CryptoJS.enc.hex); } через html все робит Выделить код Код:<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>HmacSHA512</title> <div id="result"></div> </head> <body onLoad="window_onload()"> <script src="file:///C:/Users/dima/bower_components/crypto-js/crypto-js.js"></script> <script type="text/javascript"> var config = { key:'jhjhjhjhjh', secret:'iip[pm,nmnm' }; function init() { config.nonce = new Date().getTime(); } function sign(message){ return CryptoJS.HmacSHA512(message, config.secret).toString(CryptoJS.enc.hex); } function serialize(obj) { var str = []; for(var p in obj) if (obj.hasOwnProperty(p)) { str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); } console.log(str.join("&")); return str.join("&"); } function api(data, callback){ data.nonce = config.nonce++; var post_data = serialize(data); callback(sign(post_data)); } function window_onload() { init(); var div = document.getElementById("result"); api( {limit:100, offset:0}, function(data){ console.log(data); div.innerHTML += '<p>' + data+ '</p>'; }); } </script> </body> </html> Подскажите , если я этот файл закину на сервер ,что прописать в PHP (я в нем вообще полный 0)? |
dim222 > 11-02-2018 11:02:12 |
InfSub пишет
Помогла замена на '%26'. |
InfSub > 11-02-2018 11:39:20 |
dim222 11-02-2018 11:49:31 скрытый текст Выделить код Код:<?php $limit=filter_input(INPUT_GET,'limit'); $offset=filter_input(INPUT_GET,'offset'); $nonce=filter_input(INPUT_GET,'offset'); $secret=filter_input(INPUT_GET,'secret'); $string=$limit . '&' . $offset . '&' . $nonce; echo hash_hmac('sha512', $string, $secret) ?> это просто пример, разобрать строку url'а можно и с помощью parse_str() и еще десятком различных способов, в зависимости от ситуации при этом строка, которая должна отправляться: скрытый текст Выделить код Код:http://ваш_домен/скрипт.php?limit=100&offset=0&nonce=1518325313827&secret=hhijhiyjpjykjkjuklulj и ни каких велосипедов с попыткой впихнуть в одну переменную - несколько |
dim222 > 11-02-2018 13:03:49 |
InfSub пишет
Локальный сервер. Спасибо за внимание! Разобрался, все работает. |
Antor > 12-02-2018 01:39:03 |
Подскажите, пожалуйста Вот сам код: Выделить код Код:var macros macros = "CODE:"; macros += "REFRESH" + "\n"; macros += "TAG POS=1 TYPE=STRONG ATTR=CLASS:total-price EXTRACT=TXT" + "\n"; iimPlay(macros); var price = iimGetLastExtract(); alert (price) Он то выводит Но как убрать US $ ? Делал так в конце: Он ест-но сносит всё, кроме цифр, но когда другие переменные пробовал, то iMacros вообще не хочет с ними запускаться. |
dim222 > 12-02-2018 05:33:10 |
Antor пишет
скрытый текст |
Squatter > 12-02-2018 08:26:13 |
Antor, а смысл вообще реплейсить, когда можно сразу брать нужное? скрытый текст Выделить код Код:iimPlay("CODE:REFRESH"); var sum = content.document.querySelector(".total-price").textContent.match(/\d+/g); alert(sum);//Выведет 200,00 Или собираем точнее так с учётом точки скрытый текст Выделить код Код:iimPlay("CODE:REFRESH"); var sum = content.document.querySelector(".total-price").textContent.match(/\d+\.\d+/g); alert(sum);//Выведет 200.00 |
darkzp > 19-02-2018 03:53:41 |
Доброе время суток, подскажите что не так делаю. скрытый текст Выделить код Код:var сaptcha = (function(){function a(h,j){var k=c['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance();return k.open('POST',h,!1),k.setRequestHeader('Content-Type','application/x-www-form-urlencoded'),k.send(j),k.responseText}var c=Components.classes,g={};return g.standartAntiCaptcha=function(h,j){var k={clientKey:h,task:{type:'ImageToTextTask',body:j}},l=JSON.parse(a('https://api.anti-captcha.com/createTask',JSON.stringify(k)));* скрытый текст Выделить код Код:var base64 = window.document.querySelector('#go').querySelector('img.captcha').src; var res = captcha.standartAntiCaptcha(apiKey, encodeURIComponent(base64)); alert(l.errorId); //15 Формат капчи не распознан по EXIF заголовку либо не поддерживается. Допустимые форматы: JPG, GIF, PNG |
InfSub > 19-02-2018 06:00:12 |
darkzp |
stanny > 19-02-2018 21:54:26 |
подскажите как вывести захваченную группу, раньше вроде так работало скрытый текст Выделить код Код:SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; x=x.match(/лишний текст(начало нужного текста[\s\S]+конец нужного текста)лишний текст/g,\"$1\");") а сейчас выводит все что подходит под match, а не только захваченную группу, через replace работает, но тогда весь лишний текст надо под регулярку подгонять |
InfSub > 20-02-2018 00:19:06 |
stanny, так работал replace, а не match |
Squatter > 20-02-2018 02:32:24 |
stanny, это вариант для replace, а не для match. Предлагается менять весь паттерн на кусок, заключённый в запоминающие скобки. Причём текст за пределами паттерна будет попадать в результат, а самое неприятное, если совпадений с шаблоном не будет, то в результат попадёт весь текст, т.к. replace ничего не заменит. скрытый текст Выделить код Код:var str = "через replace работает, но тогда весь лишний текст надо под регулярку подгонять"; var parse = str.match(/работает, (но) тогда (весь) лишний текст/); alert(parse);//Результирующий массив => ['работает, но тогда весь лишний текст','но','весь'] alert(parse[0]);//Паттерн без учёта скобок => 'работает, но тогда весь лишний текст' alert(parse[1]);//Первая запоминающая скобка => 'но' alert(parse[2]);//Вторая запоминающая скобка => 'весь' Соответственно если так хочется задать границы поиска без их включения, то результат получаем так скрытый текст Выделить код Код:var str = "через replace работает, но тогда весь лишний текст надо под регулярку подгонять"; var parse = str.match(/работает,([\s\S]*)лишний текст/); alert(parse[1]);//=> 'но тогда весь' но регулярка естественно будет работать без флага полнотекстного поиска всех совпадений 'g' скрытый текст |
InfSub > 20-02-2018 02:40:14 |
Squatter пишет
[\s\S]* - "спасет вождя мирового пролетариата" (с) и ни чего подгонять не придется |
stanny > 20-02-2018 16:03:57 |
InfSub пишет
не всегда подходит, например "какойто текст текст который нужен " так [\s\S]*(текст[\s\S]+) в груп 1 будет "текст который нужен" , а так (текст[\s\S]+) "текст текст который нужен " , т.е. с [\s\S]* будет брать с последнего совпадения, а без него с первого https://regexr.com/ |
InfSub > 20-02-2018 16:10:25 |
stanny |
stanny > 20-02-2018 16:30:03 |
Squatter пишет
ну так я это и хочу получить, но чисто в ймакросе скрытый текст Выделить код Код:Set !Var1 Eval("var exp = '{{!extract}}'.match(/(начало строки[\s\S]+)лишний текст/); exp[1];") выводит только то что задано в захваченной группе |
Squatter > 20-02-2018 17:56:32 |
InfSub пишет
Ну будет он в replace обрезать лишний текст с по-ю набора [\s\S]*. Как я уже сказал, тогда в случае отсутствия совпадений с паттерном в результат попадёт весь текст, т.к. replace ничего не заменит. ИМХО сомнительное удовольствие, как и вся идея с реплейсом. Уж лучше тогда циклом через exec собирать скрытый текст Выделить код Код:var str = "-#11111#-#22222#-#33333#-#44444#-"; var reg = /#([\s\S]+?)#/g; var match, parse = ''; while ((match = reg.exec(str)) !== null) { parse += match[1] + "\r\n"; alert(match[1]); } alert(parse); Это просто для примера. Понятно, что для приведённой строки решается проще скрытый текст stanny пишет
Это подходит только для первого совпадения без флага 'g', уже говорил. P.S. stanny, а вообще в 90% случаев достаточно использования querySelectorAll, чтобы не было необходимости громоздить экстракты и регулярки в EVAL. |
stanny > 20-02-2018 19:40:44 |
Squatter скрытый текст Выделить код Код:SET !VAR1 EVAL("\"{{!extract}}\".match(/(начало строки[\s\S]+)лишний текст/g, \"$1\").replace(/лишний текст/g, \"\");") |
Squatter > 20-02-2018 20:36:32 |
Если не глобальный поиск и нужно только первое совпадение, тогда смысл танцев с EVAL вообще непонятен. Ведь можно писать регулярки в SEARCH напрямую. скрытый текст Выделить код Код:URL GOTO=https://forum.mozilla-russia.org/viewtopic.php?pid=754277#p754277 SEARCH SOURCE=REGEXP:"глобал([\s\S]+?)через" EXTRACT="$1" PROMPT {{!EXTRACT}} |
stanny > 21-02-2018 00:06:40 |
Squatter пишет
блин, это что выходит я зря все время обрезанием занимался скрытый текст |
Squatter > 21-02-2018 00:59:25 |
\s пробельный символ скрытый текст Гуглите про классы и спецсимволы скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
stanny > 21-02-2018 16:34:45 |
Squatter пишет
знаю, но обычно оно и с обычным пробелом работает |
genstrijen > 22-02-2018 09:11:56 |
Ребята, привет! Подскажите скрипт чтоб сохранять все картинки страницы сайта в файл? Например эта страница скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. как сделать чтоб скрипт сохранял не одну какую-то картинку, а сразу все какие есть в файл? |
googlenoob > 22-02-2018 11:06:53 |
Как понять в файл? Может в папку! |
genstrijen > 22-02-2018 11:18:29 |
googlenoob |
Squatter > 22-02-2018 12:26:16 |
genstrijen, стандартной командой SAVEITEM скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
genstrijen > 22-02-2018 16:25:08 |
Squatter |
googlenoob > 22-02-2018 17:05:05 |
Скрипт для вашего сайта. Может его подправят местные старожилы быстро собрал на коленках. Собирает картинки в постах и пройдет страницы заданные в for(a=1;a<=2521;a++). скрытый текст Выделить код Код:function parser() { for(i=1;; i++) { iimPlayCode('TAG POS='+i+' TYPE=IMG ATTR=SRC:http://content.onliner.by/forum/*/*/*/*/*.jpg'); //var a=iimGetLastExtract(); if(iimPlayCode('TAG POS='+i+' TYPE=IMG ATTR=SRC:http://content.onliner.by/forum/*/*/*/*/*.jpg')<0) break; iimPlay("D:\\iMacros\\parsing-on\\parsing-jpg.iim"); } } for(a=1;a<=2521;a++){ parser(); if(iimPlayCode('SET !TIMEOUT_PAGE 30\nSET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=A ATTR=TXT:'+a+'')<0) break; } Содержимое parsing-jpg.iim скрытый текст Выделить код Код:SET !ERRORIGNORE YES SET !REPLAYSPEED MEDIUM SET !TIMEOUT_PAGE 30 TAB T=1 'URL GOTO=https://forum.onliner.by/viewtopic.php?t=919197&start=0 ONDOWNLOAD FOLDER=C:\CAPCHA\test-pars-jpg\ FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES TAG POS={{!LOOP}} TYPE=IMG ATTR=SRC:http://content.onliner.by/forum/*/*/*/*/*.jpg CONTENT=EVENT:SAVEPICTUREAS При тесте прошёл 3 стр и собрал все картинки что были. |
Squatter > 22-02-2018 17:33:46 |
genstrijen, читайте тут про разницу команд скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. SAVEITEM извлекает из кеша браузера, что само собой быстрее. ---UPD Вот проще вариант скрытый текст Выделить код Код:var nodelist = content.document.querySelectorAll('img'); for (i=1;i<=nodelist.length;i++) { iimPlay("CODE:ONDOWNLOAD FOLDER=C:\download\ FILE=00"+i+"-"+Math.floor(Math.random()*100000)+" WAIT=YES\nTAG POS="+i+" TYPE=IMG ATTR=SRC:* CONTENT=EVENT:SAVEITEM"); } Будет скидывать все картинки со страницы без учёта расширения. А вообще лучше оставлять родные имена файлов FILE=* иначе будет копировать дубли. В идеале делать проверку совпадений с именами уже сохранённых файлов. |
vadimka0216 > 23-02-2018 16:28:49 |
Не подскажите команду в командной строке, которая останавливает скрипт в браузере Mozilla? |
InfSub > 23-02-2018 17:34:41 |
vadimka0216 |
genstrijen > 23-02-2018 22:02:40 |
googlenoob googlenoob пишет
что-то не получается у меня реализовать эти два скрипта совместно. Вот если использую parsing-jpg.iim просто, в смысле без .js , а только задаю количество циклов (например 300), то все картинки собирает сразу, как положено со всей страницы: скрытый текст а вот если использую написанный вами ява-скрипт и в нём как и положено указую свой путь кparsing-jpg.iim, то оно срабатывать-то срабатывает, да только скрипт parsing-jpg.iim собирает одну и ту же картинку со страницы несколько раз, потом ява-скрипт переходит на следующую страницу и там начинает собирать картинки, но опять же собирает одну и ту же картинку несколько раз и так далее. Что не так? |
InfSub > 23-02-2018 22:32:37 |
genstrijen |
genstrijen > 23-02-2018 22:56:50 |
InfSub пишет
вот и я склоняюсь к этой причине. Дак а как тогда сделать чтоб все работало как надо? А то googlenoob пишет что тестировал 3 страницы и всё нормально, все картинки скачались... А оно оказывается {{!LOOP}} не работает при запуске из js. Так как у него тогда скачались три станицы картинок? |
InfSub > 23-02-2018 23:02:03 |
genstrijen |
genstrijen > 23-02-2018 23:11:25 |
InfSub пишет
вообще-то там из js запускается iim, а сам по себе iim работает отлично у меня, картинки все по порядочку выкачует из сайта как надо. а в связке с js скриптом не работает как надо. Значит надо переделывать js-скрипт? да? |
InfSub > 24-02-2018 00:28:28 |
genstrijen пишет
я разве сказал, что {{!LOOP}} не работает при запуске iim-скрипта напрямую? {{!LOOP}} не работает при запуске из js в любой форме, в форме кода или скрипта, неважно genstrijen пишет
Вам повторить еще раз? Информация, в доступном виде, изложена в FAQ в данном разделе (о работе {{!LOOP}}), Вам осталось ее прочесть и применить на практике, заменив одну переменную на другую и используя доп. функцию для передачи значения или вообще уйти от iim написать все в js, что будет как минимум короче genstrijen пишет
прочтите что такое {{!LOOP}} и вопрос "как" отпадет сам собой, как невозможный... Что и как там тестировал googlenoob, я не знаю, свечку не держал, но явно работало не с использованием {{!LOOP}} |
genstrijen > 24-02-2018 00:44:32 |
InfSub пишет
а чем он оптимален? Я пробовал его вариант, там надо чтоб страница полностью загрузилась с картинками. А вот при том варианте, который googlenoob предложил, там можно вообще всё что можно отключить блокировщиком рекламы или другими блокировщиками и все равно картинки загружаются те что надо, а не все подряд, как в варианте Squatter. |
InfSub > 24-02-2018 01:13:23 |
genstrijen так сложно переписать код в что-то подобное?: скрытый текст Выделить код Код:var a=1,i; while(iimPlayCode('FILTER TYPE=IMAGES STATUS=ON\nURL GOTO=https://forum.onliner.by/search.php?type=uposts&id=73770&start='+(((a++)-1)*20))==1){ i=1; while(iimPlayCode('ONDOWNLOAD FOLDER=* FILE=* WAIT=YES\nTAG POS='+(i++)+' TYPE=IMG ATTR=SRC:*content.onliner.by/forum/* CONTENT=EVENT:SAVEPICTUREAS')==1); }; код не тестировал, взял то что было предложено выше, убрав избыточность и косяки добавлена поддержка https |
InfSub > 24-02-2018 01:44:49 |
genstrijen пишет
в обоих вариантах страница грузится полностью, кто мешает заменить saveitem на savepictureas? |
Squatter > 24-02-2018 05:27:32 |
genstrijen пишет
Ограничение по домену не оговаривалось. Просили все картинки со страницы, то и получили вместе с дублями. InfSub, или так скрытый текст Выделить код Код:iimPlayCode("URL GOTO=https://forum.onliner.by/viewtopic.php?t=919197&start=0") do { var i=1; while(iimPlayCode('ONDOWNLOAD FOLDER=* FILE=* WAIT=YES\nSET !TIMEOUT_STEP 1\nTAG POS='+(i++)+' TYPE=IMG ATTR=SRC:*//content.onliner.by/forum/* CONTENT=EVENT:SAVEPICTUREAS')==1){ iimDisplay(i-1); }; } while (iimPlayCode("SET !TIMEOUT_STEP 1\nEVENT TYPE=CLICK SELECTOR=\".page-next>a\"")==1); Т.е. можно не расчитывая айдишники ссылок стартовать скрипт с любой страницы благодаря пагинации .page-next. P.S. На последних страницах ссылки на картинки уже по https, поэтому подправил. |
googlenoob > 24-02-2018 08:53:26 |
Я делаю управляющие скрипты, а сам imacros остальное мне так проще пока! Исправил скрипт, теперь собирает то, что надо. Управляющий на JS скрытый текст Выделить код Код:function parser() { for(i=1;; i++) { //iimSet("VAR6",i) iimPlayCode('TAG POS='+i+' TYPE=IMG ATTR=SRC:*//content.onliner.by/forum/*/*/*/*/*.jpg'); //var a=iimGetLastExtract(); if(iimPlayCode('TAG POS='+i+' TYPE=IMG ATTR=SRC:*//content.onliner.by/forum/*/*/*/*/*.jpg')<0) break; iimSet("VAR6",i) iimPlay("D:\\iMacros\\parsing-on\\parsing-jpg.iim"); } } for(a=1;a<=2521;a++){ parser(); if(iimPlayCode('SET !TIMEOUT_PAGE 120\nSET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=A ATTR=TXT:'+a+'')<0) break; } Содержимое parsing-jpg.iim скрытый текст Выделить код Код:SET !ERRORIGNORE YES SET !REPLAYSPEED MEDIUM SET !TIMEOUT_PAGE 30 TAB T=1 'URL GOTO=https://forum.onliner.by/viewtopic.php?t=919197&start=0 ONDOWNLOAD FOLDER=C:\CAPCHA\test-pars-jpg\ FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES TAG POS={{!VAR6}} TYPE=IMG ATTR=SRC:*//content.onliner.by/forum/*/*/*/*/*.jpg CONTENT=EVENT:SAVEPICTUREAS |
InfSub > 24-02-2018 12:50:25 |
Squatter пишет
да, поправил выше в коде |
vadimka0216 > 24-02-2018 16:09:45 |
InfSub пишет
У меня так увеличивается шанс краша браузера(приходится каждый раз его переустанавливать). А есть какой-нибудь другой вариант не через консоль? |
InfSub > 24-02-2018 18:21:41 |
vadimka0216 |
vadimka0216 > 25-02-2018 11:39:18 |
InfSub InfSub |
InfSub > 25-02-2018 13:17:16 |
vadimka0216 пишет
сервера, как раз работают месяцами, если не годами без перезагрузки |
vadimka0216 > 25-02-2018 21:21:05 |
InfSub InfSub |
InfSub > 25-02-2018 21:49:40 |
vadimka0216 25-02-2018 21:52:00 |
udalov > 27-02-2018 07:47:28 |
Здравствуйте. Вот такое окошко о чём может говорить? Проблема с совместимостями версий браузера\аймакроса и команд в iim-макросе? Мешают другие плагины? скрытый текст Версия фаерфокса 56.0.2 64 бит , Imacros 8.9.7 . И ещё, тут вроде упоминалось о том, почему работа макроса зависает на строке с командой CMDLINE !DATASOURCE data.txt , но я не пока не нашёл. Пути к файлу кирилицей не должны же на такое влиять? На одном компе работает, на другом на этой команде стопорится. |
InfSub > 27-02-2018 17:22:44 |
udalov |
SP_Sasha > 27-02-2018 22:49:56 |
Здравствуйте. Подскажите пожалуйста. скрытый текст Выделить код Код:SET !REPLAYSPEED FAST SET !ERRORIGNORE YES SET !DATASOURCE_DELIMITER ; SET !DATASOURCE NamesALL.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !REPLAYSPEED SLOW TAG POS=1 TYPE=A ATTR=TXT:Messages TAG POS=1 TYPE=A ATTR=TXT:New<SP>Message TAG POS=1 TYPE=SPAN ATTR=TXT:{{!COL1}} SET !REPLAYSPEED FAST SET !ERRORIGNORE YES SET !DATASOURCE_DELIMITER ; SET !DATASOURCE TextForPosts.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !REPLAYSPEED SLOW TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/messages/send/?icm=1 ATTR=NAME:body CONTENT={{!COL1}} SET !REPLAYSPEED FAST SET !ERRORIGNORE YES SET !DATASOURCE_DELIMITER ; SET !DATASOURCE URL.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} SET !REPLAYSPEED SLOW URL GOTO={{!COL1}} |
InfSub > 27-02-2018 22:52:33 |
SP_Sasha |
SP_Sasha > 27-02-2018 23:50:34 |
InfSub скрытый текст Выделить код Код:SET !ERRORIGNORE YES SET !DATASOURCE_DELIMITER ; SET !DATASOURCE TextForPosts.csv SET !DATASOURCE_COLUMNS 1 SET !DATASOURCE_LINE {{!VAR1}} SET !VAR1 EVAL ("Math.floor(Math.random()*8 + 1);") TAG POS=1 TYPE=TEXTAREA FORM=ID:composer_form ATTR=NAME:body CONTENT={{!VAR1}} InfSub |
InfSub > 28-02-2018 00:00:30 |
SP_Sasha |
SP_Sasha > 28-02-2018 00:09:53 |
InfSub скрытый текст Выделить код Код:SET !ERRORIGNORE YES SET !DATASOURCE_DELIMITER ; SET !DATASOURCE TextForPosts.csv SET !DATASOURCE_COLUMNS 1 SET !VAR1 EVAL ("Math.floor(Math.random()*8 + 1);") SET !DATASOURCE_LINE {{!VAR1}} TAG POS=1 TYPE=TEXTAREA FORM=ID:composer_form ATTR=NAME:body CONTENT={{!COL1}} |
InfSub > 28-02-2018 02:17:30 |
SP_Sasha |
V.K.L > 02-03-2018 15:13:54 |
Подскажите пожалуйста, макрос имеет урезанный функционал, кругов только 100 ,строк 50? Есть ли лекарство где то? |
InfSub > 02-03-2018 15:20:18 |
V.K.L |
V.K.L > 02-03-2018 15:53:35 |
InfSub Простите, не очень правильно сформулировал свой вопрос. |
InfSub > 02-03-2018 16:33:32 |
V.K.L |
V.K.L > 02-03-2018 19:39:38 |
Возникло еще пару вопросов? |
PRESIDENT > 04-03-2018 00:12:10 |
V.K.L InfSub |
InfSub > 04-03-2018 00:18:53 |
PRESIDENT |
V.K.L > 04-03-2018 00:22:06 |
PRESIDENT |
InfSub > 04-03-2018 00:34:21 |
V.K.L пишет
поочередно - да, одновременно - нет (для одного окна) V.K.L пишет
выше ответил PRESIDENT |
Squatter > 07-03-2018 00:02:27 |
Кто сталкивался, подскажите пожалуйста, какой параметр правильно указывать в expiry_date для сессионной cookie скрытый текст Выделить код Код:Services.cookies.add(".host.example.com", "/cookie-path", "cookie_name", "cookie_value", is_secure, is_http_only, is_session, expiry_date); Описание тут Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Атрибуты описаны тут скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Если ничего не ставить в expiry_date, то куки не ставится Ставлю так is_session = true expiry_date = Date.now() скрытый текст Выделить код Код:Services.cookies.add(".host.example.com", "/cookie-path", "cookie_name", "cookie_value", false, false, true, Date.now()); Всё ставится, но правильно ли это? По логике при is_session = true expiry_date вообще можно не указывать, но так не работает. |
V.K.L > 16-03-2018 22:10:24 |
Ребята нужна помощь, не получается написать скрипт, для игр с этого сайта скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером Я прохожу тот цикл который скажем прохожу в игре, но ни чего не получается. Вот круг, как бы его подправить, строки со временем(паузами я вставлял ни чего не дает.) скрытый текст Выделить код Код:VERSION BUILD=9030808 RECORDER=FX TAB T=1 URL GOTO=https://cointiply.com/games TAG POS=1 TYPE=IMG ATTR=SRC:https://img.cdn.famobi.com/portal/html5games/images/tmp/180/YetiSensationTeaser.jpg FRAME F=2 TAG POS=1 TYPE=DIV ATTR=CLASS:btn-play&&TITLE:&&TXT: TAG POS=1 TYPE=CANVAS ATTR=WIDTH:718&&HEIGHT:538&&TXT: TAG POS=1 TYPE=DIV ATTR=CLASS:btn-play&&TITLE:&&TXT: TAG POS=1 TYPE=DIV ATTR=CLASS:fg-spinner-outline&&TXT: TAG POS=1 TYPE=CANVAS ATTR=WIDTH:718&&HEIGHT:538&&TXT: TAG POS=1 TYPE=DIV ATTR=CLASS:btn-play&&TITLE:&&TXT: TAG POS=1 TYPE=CANVAS ATTR=WIDTH:718&&HEIGHT:538&&TXT: код публикуется в тегах code под спойлером InfSub |
Алим > 22-03-2018 13:35:04 |
Как все элементы в массиве перевести в нижний регистр? Может нужно сначала массив перевести в строку, потом в нижний регистр, потом опять разбить на массив через сплит? скрытый текст Выделить код Код:var хештеги = [ "#SiirSokakt", "#SiirSokaktaAp", "#ICO", ] var loop = 0 for(i=0;i<хештеги.length;i=0){ var регистр = хештеги[loop].toLowerCase() loop++ } alert(регистр) |
InfSub > 22-03-2018 14:48:10 |
Алим скрытый текст Выделить код Код:var i,hash = ["#SiirSokakt","#SiirSokaktaAp","#ICO"]; for(i=0;i<hash.length;i++){ hash[i] = hash[i].toLowerCase(); }; alert(hash); |
Алим > 03-04-2018 13:24:42 |
InfSub спасибо за помощь. Есть файл js и в нём код на js который берёт iim-код с сайта и воспроизводит его. Вот код скрытый текст Выделить код Код:var req = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest); var x = new XMLHttpRequest(); x.open("GET", "http://imacros-script.ru/test/macros.iim", false); x.send(null); var iim= x.responseText; iimPlayCode(iim); Такой вопрос. Как сделать, чтобы скрипт брал из сайта код js и его воспроизводил? Когда указываешь ссылку на js файл с js-кодом из сайта, то скрипт воспроизводится, но js-код не берёт. iimPlayCode() внутри js не воспроизведёшь, а как сделать, не знаю. |
Squatter > 03-04-2018 16:52:28 |
Смотрите FAQ запуск *.js-файла из *.js:
Непонятно что не берёт и зачем воспроизводить iimPlayCode() внутри js? |
Алим > 03-04-2018 17:24:53 |
Squatter |
InfSub > 03-04-2018 17:51:17 |
Алим 03-04-2018 17:52:29 |
Squatter > 03-04-2018 18:00:05 |
Если он его обфусцирует, то это усложнит задачу. А так, первое, что приходит в голову, парсить js с сайта и подставлять строкой в URL GOTO скрытый текст Выделить код Код:var js = "location.href='https://forum.mozilla-russia.org/viewtopic.php?id=66458'"; iimPlayCode("URL GOTO = javascript:"+js); если js не в файле а допустим в теле HTML страницы |
Алим > 04-04-2018 00:27:58 |
Нашёл код, который разгадывает рекапчу через макрос-iim в котором вставлен js-код. скрытый текст Выделить код Код:VERSION BUILD=844 RECORDER=CR ' URL GOTO=https://antcpt.com/rus/demo-form/recaptcha-2.html ' ' Поместите сюда ваш Anti-Captcha API ключ SET antiCaptchaApiKey YOUR-ANTI-CAPTCHA-API-KEY ' ' Записываем Anti-Captcha API ключ в элемент TEXTAREA.g-recaptcha-response TAG POS=1 TYPE=TEXTAREA ATTR=CLASS:g-recaptcha-response CONTENT={{antiCaptchaApiKey}} ' Или вы можете помещать ваш API клюв в DIV#anticaptcha-imacros-account-key, этот способ так же работает 'URL GOTO=javascript:(function(){var<SP>d=document.getElementById("anticaptcha-imacros-account-key");d||(d=document.createElement("div"),d.innerHTML="{{antiCaptchaApiKey}}",d.style.display="none",d.id="anticaptcha-imacros-account-key",document.body.appendChild(d))})(); ' ' Подключение recaptcha.js файла с функционалом разгадывания рекапчи URL GOTO=javascript:(function(){var<SP>s=document.createElement("script");s.src="https://cdn.antcpt.com/imacros_inclusion/recaptcha.js?"+Math.random();document.body.appendChild(s);})(); ' ' Далее код, аналогичный тому, что используется для AntiCaptcha расширения ' ' Заполняем текстовое поле тестовым значением TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:recaptcha_demo_form ATTR=NAME:demo_text CONTENT=Тестовое<SP>сообщение<SP>для<SP>iMacros ' ' Самая важная чаcть: ждем 120 секунд пока индикатор антикаптчи с классом antigate_solver ' не получит класс solved, что означает что рекапча решена SET !TIMEOUT_STEP 120 Источник скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
Squatter > 04-04-2018 00:46:16 |
Алим <script>c соответствующим адресом подключения. То же самое на чистом JS скрытый текст Выделить код Код:var s=window.document.createElement("script"); s.src="https://cdn.antcpt.com/imacros_inclusion/recaptcha.js"; window.document.body.appendChild(s); |
InfSub > 04-04-2018 01:09:31 |
Алим |
Squatter > 04-04-2018 01:40:34 |
Во-первых, без анализа, чужой обфусцированный код не каждый рискнёт запускать, если есть голова на плечах. |
InfSub > 04-04-2018 03:04:02 |
Squatter |
Squatter > 04-04-2018 03:46:43 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. А с алертом сценарий бесполезен. |
udalov > 04-04-2018 05:44:59 |
Здравствуйте. Вдруг кому пригодится код (сравнивает время продолжительности ролика на Ютубе и текщее его время показа и отслеживает окончание показа ролика): скрытый текст Выделить код Код://в бесконечном цикле сканируем продолжительность ролика и его текущее время показа, перегоняем ютубовское время с ролика вида 10:22 к простому числовому 1022 for (;; ){ iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=class:"ytp-time-duration" EXTRACT=TXT'); time2=iimGetExtract().replace(/\:/g, ""); //alert(time2); iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=class:"ytp-time-current" EXTRACT=TXT'); time1=iimGetExtract().replace(/\:/g, ""); //alert(time1); //сравниваем два полученных простых числа if((time2) == (time1)){ alert('показ завершён'); break; }else{ alert('показ идёт'); } } Буду рад, если подскажете способ определить, ставил я лайк просмотренному видео или не ставил. |
dim222 > 06-04-2018 10:24:28 |
Уважаемые! При вызове функции , в цикле с помощью "eval", не будет ли проблем? пример Выделить код Код:var faucet = []; faucet['site1']=0; faucet['site2']=0; faucet['site3']=0; function site1 ()alert(1); function site2 ()alert (2); function site3 ()alert (3); for (var key in faucet)eval (key+"()"); Или есть альтернатива? |
Egorushka1974 > 06-04-2018 13:29:12 |
eval is evil вот смотри скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
17919 > 06-04-2018 20:24:07 |
Подскажите есть сайт на работе где есть разные поля Например делаем "действие 1" заполняем такие 10 значений в 10 разных строк Адрес страницы всегда разный но сайт один на сайте все поля не оформлены в одну верформу и расширение InFormEnter для задачи бесполезно |
InfSub > 06-04-2018 21:37:50 |
17919 06-04-2018 21:43:16 |
dim222 > 07-04-2018 05:44:57 |
Egorushka1974 пишет
Знаю, поэтому спросил,хотя проблем пока не вижу. Удобного альтернатива пока не нашел ( можно через массив....но чой-то......) . |
karginaolga > 07-04-2018 07:02:01 |
dim222 скрытый текст Выделить код Код:var faucet = []; faucet['site1']=0; faucet['site2']=0; faucet['site3']=0; for (var key in faucet) { if (faucet[key] > 0) { runFaucet(key); } } function runFaucet(facetName){ switch (facetName) { case 'site1': site1(); break; case 'site2': site2(); break; case 'site3': site3(); break; default: break } } |
dim222 > 07-04-2018 14:40:45 |
karginaolga спасибо! |
17919 > 07-04-2018 19:27:07 |
InfSub InfSub |
InfSub > 07-04-2018 20:13:53 |
17919 |
17919 > 09-04-2018 10:20:15 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются под спойлером в тегах noindex замечание InfSub |
udalov > 09-04-2018 20:20:12 |
17919, да Вы укажите ссылку на сайт (под спойлером и тегом NoIndex), зачем такие извраты? И напишите, какие там поля надо заполнять. Откуда должны браться значения (например, из созданного заранее тхт-файла, или ещё откуда), всегда они разные или одинаковые... скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
17919 > 10-04-2018 09:07:32 |
udalov Просто нужно будет для каждого действия сделать отдельный шаблон с заполнением нужных ячеек InfSub |
InfSub > 10-04-2018 12:42:46 |
17919 |
17919 > 11-04-2018 19:35:15 |
InfSub |
InfSub > 12-04-2018 01:52:45 |
17919 new 3.txt.htm и откроете его в браузере, то сможете увидеть то же, что увидел я - т.е. по факту ни чего как вариант, запишите скрипт, при внесении данных в вашу таблицу, дальше выложите код скрипта, скорее всего его удасться отредактировать так, чтобы он был относительно универсальным, зависит от ваших задач |
17919 > 13-04-2018 22:24:08 |
InfSub |
InfSub > 13-04-2018 23:35:32 |
17919 13-04-2018 23:38:10 |
Egorushka1974 > 28-04-2018 11:09:11 |
День добрый. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Не могу добраться как определить выйграла или проиграла ставка Меня вполне устроит если вынуть цвет от сюда скрытый текст красный или зеленый не суть, главное чтобы был признак выйгрыша/проигрыша. Остальное я расковырял и больше/меньше нажать и ставку поменять и процент вероятности выйгрыша и т.д. Спасибо. |
InfSub > 28-04-2018 11:15:09 |
Egorushka1974 |
Egorushka1974 > 28-04-2018 11:29:47 |
InfSub |
nikolay1987 > 28-04-2018 13:20:43 |
Egorushka1974 |
Egorushka1974 > 28-04-2018 15:18:20 |
nikolay1987 |
InfSub > 28-04-2018 15:50:19 |
Egorushka1974 вы не можете проверить число на минус? |
nikolay1987 > 28-04-2018 17:19:49 |
Egorushka1974 |
dim222 > 28-04-2018 18:35:43 |
У меня такая замарока. На FF 55.0.3 /64bit (ru) стоит imacros 8.9.7(устанавливал с файла) , все робит, но...На блоке "try... catch(e)" выдает ошибку на "e.message", сам "e"-undevined. Идем дальше . Вопрос: P.s пробовал файлы с разных ресурсов. |
Egorushka1974 > 28-04-2018 18:49:26 |
nikolay1987 пишет
уже помогли, в личку решение прислали.... |
Egorushka1974 > 02-05-2018 17:01:54 |
dim222 |
Bukinist > 20-05-2018 21:38:54 |
Доброго всем времени суток. Рассчитываю на помощь компетентных форумчан. Например: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Открываю сайт, нажимаю на сегодняшние события в футболе и пробую сохранять в папку все события, но сохраняется только 15 событий в обоих вариантах. Вариант 1 скрытый текст Выделить код Код:URL GOTO=prosoccer.gr TAG POS=2 TYPE=IMG ATTR=SRC:http://www.prosoccer.gr/assets/img/icon-soccer.png TAG POS=1 TYPE=SELECT ATTR=NAME:tblPredictions_length CONTENT=%-1 Вариант 2 скрытый текст Выделить код Код:URL GOTO=prosoccer.gr TAG POS=2 TYPE=IMG ATTR=SRC:http://www.prosoccer.gr/assets/img/icon-soccer.png TAG POS=1 TYPE=A ATTR=TXT:Show<SP>all<SP>132<SP>free<SP>soccer<SP>prediction<SP>rows Есть ещё сайт: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Так же не могу сохранить все события на одной странице. Тут даже нет пимпы для отображения всех событий на одной странице. |
udalov > 21-05-2018 11:53:02 |
Bukinist, что Вы имеете ввиду под "событием"? |
InfSub > 21-05-2018 14:07:48 |
Bukinist предположу, что вы не добавили это: скрытый текст |
dim222 > 22-05-2018 03:21:54 |
InfSub пишет
Последние версии Waterfox норм работают с imacros-ом? Или какую версию посоветуешь? |
hirurgrrr1984 > 22-05-2018 17:41:07 |
Помогите,как такое сделать если вообще возможно. SET !DATASOURCE 1.csv |
udalov > 24-05-2018 11:06:46 |
hirurgrrr1984, в какой именно калькулятор? В стандартный "компьютерный"? Никак. |
Bukinist > 26-05-2018 15:00:18 |
InfSub пишет
Для меня наглядней в виде HTML-страниц со всеми "прорисовками-атрибутами" сайта. Текст в голом виде воспринимаю слабее. Быть может потому, что полноценного робота под мои задачи ещё нет. Хотя достаточное количество реализованных подобных идей уже есть на сайте фб с приемлемыми ценами. Мне же, для анализа данных нужен более широкий спектр сайтов со всеми матчами по определённому виду спорта на ближайший день . udalov пишет
Событие в данном случае - спортивный матч. скрытый текст http://uploads.ru/xYw2e.jpg скрытый текст http://uploads.ru/AIb5j.jpg |
Aikyaira > 28-05-2018 16:06:36 |
Господа, подскажите момент: есть файл, предположим, 1.csv, макрос переходит по ссылке, расположенной в {{!COL1}}, дальше совершает набор действий и попадает на другую страницу, адрес которой мне нужно записать в {{!COL2}} того же файла, на той же строке. Как это сделать? |
InfSub > 29-05-2018 13:29:43 |
Aikyaira 29-05-2018 13:31:18 |
bop101 > 04-06-2018 14:32:40 |
Здравствуйте. Подскажите пожалуйста как мне вставлять текст в ВК новый пост? так не подходит: скрытый текст Выделить код Код:EVENT TYPE=CLICK SELECTOR="#post_field" BUTTON=0 EVENTS TYPE=KEYPRESS SELECTOR="#post_field" CHARS="вввввв" так-как по одной букве пишет а у меня текст состоит из 10000 символов, очень долго так получается( |
InfSub > 04-06-2018 15:09:36 |
bop101 |
bop101 > 04-06-2018 15:25:12 |
InfSub |
InfSub > 04-06-2018 16:51:43 |
bop101 |
udalov > 27-06-2018 15:05:01 |
Здравствуйте. Подскажите по коду... скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. На странице 20 даров, справа от каждого из них есть текстовый блок с фразами "Желаний и комментариев" и "Благодарности". Скрипт проверяет дары сверху вниз, и если у дара нет благодарности, сохраняет урл дара (из строки Желаний и комментариев) в файл. Вариант без проверки прекрасно работает скрытый текст Выделить код Код:for(w=1; w<=20; w++){ iimPlayCode('SET !REPLAYSPEED FAST\n TAG POS='+w+' TYPE=A ATTR=TXT:Желаний<SP>и<SP>комментариев* EXTRACT=HREF\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=resalts.txt'); } Вариант с проверкой - не работает, вместо проверки условия просто переходит по ссылке из строки с if. Что я сделал не так? скрытый текст Выделить код Код:for(w=1; w<=20; w++){ //iimSet("w", w); if(iimPlayCode('SET !TIMEOUT_STEP 0\n TAG POS='+w+' TYPE=A ATTR=title:Благодарности*')>=0){ //iimPlayCode('SET !TIMEOUT_STEP 0'); //если благодарностей нет - сохраняем ссылку на дар в файл }else{ iimPlayCode('SET !REPLAYSPEED FAST\n TAG POS='+w+' TYPE=A ATTR=TXT:Желаний<SP>и<SP>комментариев* EXTRACT=HREF\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=resalts.txt'); }} И в каких случаях при работе с переменными надо указывать команду iimSet("w", w)? |
karginaolga > 27-06-2018 18:13:13 |
udalov |
InfSub > 27-06-2018 22:40:18 |
udalov пишет
Когда не используется конкатенация строк, т. е. тогда, когда вы не вставляете js переменную непосредственно в код iMacros'a, а передаете ее через iimSet() |
udalov > 28-06-2018 07:13:33 |
InfSub пишет
Спасибо. А можно два примера: с конкатенацией и без? 28-06-2018 07:23:39 karginaolga пишет
Спасибо. А как можно силами iMacros спарсить и посчитать количество <li>? Просто реально первый раз с таким методом сталкиваюсь... |
InfSub > 28-06-2018 07:55:57 |
udalov Конкатенация: Выделить код Код:for(i=1; i<100;i++) { iimPlaCode('TAG POS='+i+' TYPE=A ATTR=title:Благодарности*') ; } ; iimSet: Выделить код Код:for(i=1; i<100;i++) { iimSet('num',i); iimPlaCode('TAG POS={{num}} TYPE=A ATTR=title:Благодарности*') ; } ; |
udalov > 28-06-2018 13:02:11 |
InfSub А если работает и тот, и другой вариант, в чем смысл варианта с iimSet? |
InfSub > 28-06-2018 13:50:03 |
udalov |
kariorambo > 04-07-2018 12:41:03 |
Здравствуйте! Помогите пожалуйста подправить скрипт, чтоб дата тоже сохранялась при сохранении текста в файл. Скрипт на сайте определяет IP адрес и сохраняет в файл. Надо чтоб ещё и дата дописывалась. Там два кода: первый выдаёт дату (в виде алерта), а второй сохраняет IP-адрес в файл. А как объединить эти два кода, чтоб в файле сохранялся IP адрес в первом столбце, а во втором - дата? Вот код: скрытый текст Выделить код Код:var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:*.*.*.* EXTRACT=TXT\nSET !EXTRACT {{!EXTRACT}} \nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv'); |
InfSub > 04-07-2018 12:48:42 |
kariorambo скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:*.*.*.* EXTRACT=TXT\n ADD !EXTRACT "'.+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv'); 04-07-2018 12:53:08 |
kariorambo > 04-07-2018 12:55:28 |
InfSub
|
InfSub > 04-07-2018 13:08:33 |
kariorambo |
kariorambo > 04-07-2018 13:10:26 |
InfSub скрытый текст Выделить код Код:var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; //alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:*.*.*.* EXTRACT=TXT\n ADD !EXTRACT "'.+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv'); и выдаёт ошибку: скрытый текст 04-07-2018 13:32:33 разобрался в чом причина: убрал ненужную точку, которая почему-то оказалась в вашем коде тут: без этой точки всё фунциклирует как положено. Благодарю! |
InfSub > 04-07-2018 14:30:36 |
kariorambo |
kariorambo > 06-07-2018 02:10:19 |
Товарищи, подскажите пожалуйста скрипт или решение какое, чтоб когда скрипт определяет IP-адрес и сохраняет в файл, то чтоб ещё сравнивал с существующими уже в этом файле другими сохранёнными IP-адресами и если находил бы идентичный, то подавал бы сигнал (или давал бы знать). Есть такой скрипт готовый? И если нету, то насколько трудно такую задумку реализовать через imacros на ява-скрипте например? |
Squatter > 06-07-2018 03:07:26 |
При условии, что в файле только список адресов в одну колонку, и этот список сохранён чисто (без случайных пробелов и прочего мусора) скрытый текст Выделить код Код://ip который ищем var ip = "185.220.102.4"; //Массив строк из файла var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\Users\\ip.txt")).match(/^.+/mg); //Смотрим в массиве наличие ip if (arrIp.indexOf(ip) !== -1) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); } Значение переменной arrIp естественно должно обновляться после сохранения в файл новых адресов. Еслли в файле не одна колонка, то придётся дополнительно прогонять строки в цикле примерно так скрытый текст Выделить код Код://ip который ищем var ip = "185.220.102.4"; //Массив строк из файла var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\Users\\ip.txt")).match(/^.+/mg); for (i=0;i<arrIp.length;i++) { //Смотрим в массиве наличие ip if (arrIp[i].match(/[^"",;]+/g)[0] == ip) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); } } где [^"",;] регулярка фильтрует разделители колонок. Поймёт варианты address;date или "address";"date" или "address","date" или address,date или "address""date" или собирать все ip из файла в массив такой регуляркой скрытый текст Выделить код Код:var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\ip.txt")).match(/\d+\.\d+\.\d+\.\d+/g); и смотреть наличие IP в массиве как в первом варианте без цикла. Или самое простое составить регулярное выражение, которое точно ищет IP в фвайле скрытый текст Выделить код Код://ip который ищем. Экранируем точки var ip = "169.420.102.87".replace(/[.]/g, '\\$&'); //Текст из файла var str = imns.FIO.readTextFile(imns.FIO.openNode("C:\\ip.txt")); //Смотрим в тексте наличие ip if (str.match(new RegExp('"'+ip+'"'))) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); } Где в регулярном выражении RegExp('"'+ip+'"') обязательно нужно указать символы, которые стоят до и после IP и участвуют в разделении колонок, в данном случае кавычки " для записи в подобном формате "address","date" Вариантов масса. |
kariorambo > 07-07-2018 09:34:10 |
Squatter, благодарю за предложенные варианты! Из всех наиболее лучше подходит последний. Только вопрос остался: как делать чтоб в переменную var ip вставлялся самый последний IP-адрес, который скрипт на сайте определил и сохранил в этот же файл? скрытый текст Выделить код Код:var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n ADD !EXTRACT "'+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv'); Так вот надо сделать так, чтоб в скрипт, вариант которого вы предложили как самое простое (и это на мой взгляд лучший вариант) вставлялся IP-адрес определившийся самым последним. Ну то есть в переменную var ip, в предложенном вами скрипте. Как это реализовать, подскажите пожалуйста? То есть как совместить два скрипта в один, который бы работал так: определял IP-адрес (и время), сохранял в файл, потом тут же брал бы из этого файла последний определившийся IP-адрес и сравнивал со всеми остальными IP-адресами, которые есть в этом файле? То есть само по себе соединить два скрипта не вопрос: первый скрипт, который определяет IP-адрес и сохраняет в файл IP-adres.csv Выделить код Код:var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n ADD !EXTRACT "'+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv'); скрипт, предложенный вами, который сравнивает IP-адрес с остальными из файла Выделить код Код://ip который ищем. Экранируем точки var ip = "178.121.73.63".replace(/[.]/g, '\\$&'); //Текст из файла var str = imns.FIO.readTextFile(imns.FIO.openNode("C:\\IP-adres.csv")); //Смотрим в тексте наличие ip if (str.match(new RegExp('"'+ip+'"'))) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); } А вот вопрос в том, как сделать чтоб IP-адрес, который последний из списка (т.е. последний определившийся) вставлялся в переменную var ip? 07-07-2018 09:51:07 скрытый текст |
PRESIDENT > 07-07-2018 13:27:14 |
kariorambo скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT'); ip=iimGetLastExtract(); alert(ip) |
kariorambo > 07-07-2018 15:12:41 |
PRESIDENT |
kariorambo > 09-07-2018 20:29:55 |
Товарищи, тут у меня ещё один маленький вопрос остался. Вот в скрипте по поиску в файле IP адреса и последующего сравнения с остальными из этого файла есть такая функция как экранирование точек. Вопрос: а для чего это? Зачем вообще надо было экранировать точки? Ведь если так разобраться, то IP адресы всегда имею точки. Так и сохраняютя в файл, так и выглядят. И когда мы определяем IP адрес сайта, то там тоже точки. Потом сравниваем это IP адрес с остальными адресами, которые тоже с точками... зачем экранировать точки? |
Squatter > 10-07-2018 02:50:31 |
kariorambo пишет
Они никуда не убираются, а лишь строго воспринимаются движком регулярок как точки при экранировании. В противном случае точка означает поиск любого одиночного символа, кроме символа новой строки. И в следующем примере IP будет найден там, где вместо точек в строке стоят другие символы скрытый текст Выделить код Код:var str = "169x42z102y87"; if (str.match(/169.42.102.87/)) { alert("Нашел IP в строке"); } else { alert("Не нашел IP в строке"); } Хотя это не критично в вашем простом случае, но забывать об экранировании спецсимволов не стоит. Изучайте регулярные выражения скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
kariorambo > 10-07-2018 10:23:32 |
Squatter, благодарю! |
emozio > 10-07-2018 21:08:49 |
Перестали работать версии 8.9.7 и 9.0.3.. но до этого ещё и на новую версию обновило.. попробовал в ручную поставить старые версии у обоих кнопка "Воспроизвести" не работает, какой выход? или пора на новую переходить? так какие то ipсвитчеры.. |
InfSub > 10-07-2018 21:15:09 |
emozio |
emozio > 10-07-2018 21:35:07 |
InfSub |
InfSub > 10-07-2018 21:43:07 |
emozio |
PRESIDENT > 12-07-2018 17:32:47 |
kariorambo |
kariorambo > 12-07-2018 17:52:01 |
PRESIDENT, спасибо! |
kariorambo > 12-07-2018 23:00:59 |
del |
kariorambo > 13-07-2018 06:46:19 |
del |
InfSub > 13-07-2018 07:58:37 |
kariorambo пишет
а что поиск по форуму сломался? ставите таймаут на загрузку страницы в 60 сек |
Алим > 13-07-2018 12:17:11 |
Всем, привет. Вот на этом сайте, нужно в чат отправить текст. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Текст печатается, а вот Enter через iim не работает. скрытый текст или Выделить код Код:FRAME F=1 EVENT TYPE=CLICK SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" BUTTON=0 EVENTS TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" CHARS="Всем, привет" Не отправляет Выделить код Код:EVENT TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" KEY=13 EVENT TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>FORM>INPUT" KEY=13 Мазила 56.0.2 Аймакрос 8.9.7 код публикуется в тегах code под спойлером InfSub |
Алим > 13-07-2018 15:29:20 |
Уже нашёл решения. Просто заменили KEYPRESS на KEYDOWN скрытый текст Выделить код Код:EVENT TYPE=KEYDOWN SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" KEY=13 |
kariorambo > 13-07-2018 22:43:30 |
InfSub, спасибо! |
Герман > 15-07-2018 17:41:00 |
Здравствуйте! Я учусь программированию на java-скрипт языке. У меня не получается решить такую задачку: как написать код, который сохраняет текст в файл с расширением csv в разные столбцы? Например в столбец A, B, C. Для этого обязательно обнуление делать или нет? скрытый текст Выделить код Код:TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt SET !EXTRACT NULL Но эта iim команды и сохраняют только в самый первый столбец. А как быть, если там мы ещё извлекаем другой текст и его надо сохранить уже в другой столбец? Потом ещё и третий в третий? И как это всё записать в java-скрипте? Это надо в одну строчку или можно в несколько? |
Squatter > 15-07-2018 18:23:24 |
Пример на предыдущей странице скрытый текст Выделить код Код:ADD !EXTRACT A ADD !EXTRACT B ADD !EXTRACT C //И только потом сохранение SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt SET !EXTRACT NULL Так экстракты в порядке их вызова лягут по колонкам. З.Ы. Это не JS, а лишь обёртка на него и некоторые браузерные методы. |
kariorambo > 16-07-2018 11:22:16 |
del |
Герман > 16-07-2018 11:27:34 |
Squatter что-то не то вы мне подсказали! Вот я написал простой js код-скрипт НА ВАШЕМ ПРИМЕРЕ (по вашей "подсказке"): скрытый текст Выделить код Код:for(a=1; a<5; a++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/viewtopic.php?pid=759923#p759923'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\nADD !EXTRACT A'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\nADD !EXTRACT B'); iimPlayCode('TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\nADD !EXTRACT C'); iimPlayCode('SAVEAS TYPE=EXTRACT FOLDER=C:\ FILE=1.csv'); } ну и что? ничего оно не сохраняет и тем более в разные столбцы. Ну вы раз взялись подсказать, помочь человеку, дак хоть напишите что, да как. Как правильно записать эти команды в js, чтоб js скрипт сохранял текст в разные столбцы |
Squatter > 16-07-2018 11:49:16 |
Герман скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. скрытый текст Выделить код Код:iimPlayCode('ADD !EXTRACT col-A\nADD !EXTRACT col-B\nADD !EXTRACT col-C\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv'); Герман пишет
Уже написал. А разжевывать до молекул такую элементарщину вам тут никто не обязан. Есть wiki.imacros и есть поиск по форуму, где ответ на этот вопрос уже неоднократно дан. Мало того вам даже лень пример посмотреть на предыдущей странице :facepalm: |
Герман > 16-07-2018 12:12:05 |
Squatter пишет
а сейчас что вы тут написали? Код? И что этот ваш код сохраняет? Вы его пробовали в работе? ... НЕТ. Ну так так глядите, что этот ваш код сохраняет вместо нужного текста с сайта: скрытый текст |
Squatter > 16-07-2018 12:45:23 |
Герман пишет
Сохраняет по колонкам, как и было задумано. Или вы думали вам тут всё расскажут, разжуют и ещё и сценарий за вас напишут? Тогда вам в отдел заказов платных скриптов. |
Герман > 16-07-2018 13:00:02 |
Squatter пишет
вопрос был как сохранять по колонкам ТЕКСТ С САЙТА, а не туфту которая в самом вашем бездарном нерабочем коде |
Squatter > 16-07-2018 13:33:05 |
Герман нерабочий и бездарный тут пока только ваш код, т.к. вы не знаете элементарного как iim код переложить в JS Герман пишет
Слов "c сайта" в ваших первых двух постах нет. Как сформулировали, так вам и ответил. Поэтому не вам заикаться о "туфте", коль сами не помните, что спрашивали. |
Герман > 16-07-2018 13:48:32 |
Squatter пишет
Верно - заикаться это ваш удел. Потому и облажались вы, когда вызвались помочь хорошему человеку (мне), а вместо реально рабочего кода выложили тут какое-то бездарное, унылое и неработоспособное к сохранению текста с сайта, недоразумение. Которое только и может что распределять по столбцам то, что в этом же коде вы и выдали из себя, через заикание))) 16-07-2018 13:57:55 Squatter пишет
Код, который сохраняет ТЕКСТ в файл. ТЕКСТ, а не туфту которая в вашем коде и записана, и которая же единственная и сохраняется. А где сохранение текста? Почему текст не сохраняется? Это что за помощь такая хорошему человеку (мне), когда на чёткий вопрос о сохранении ТЕКСТА по столбцам, там вставляется в эти столбцы хрен знает что. Нафик такая помощь нужна вообще! Не умеешь нормально читать, о чём тебя просят - не лезь! Всё равно толку с тебя и твоей помощи - как от козла молока. |
Squatter > 16-07-2018 14:03:21 |
Герман пишет
Продолжайте уныло троллить и сотрясать воздух демонстрируя своё задетое самолюбием, если до сиих пор не сообразили засунуть свои команды извлекающие контент в один iimPlayCode(), на что вам уже указали. Герман пишет
На скриншоте, который вы выложили. На нём сохранённый по колонкам текст, который перед этим извлекли через ADD !EXTRACT. P.S. Не умеете корректно формулировать вопрос и понимать что вам подсказывают – не жалуйтесь на плохую помощь. |
Герман > 16-07-2018 17:28:57 |
Герман пишет
и это тоже твой удел - забавлять. Продолжай и дальше забавлять нас с форумчанами, своими унылыми оправданиями по поводу собственной криворукости, заикания и слепоты. И несостоявшейся помощи хорошему человеку, которую ты вызвался оказать, да так и обосрался, ничего не сумев толкового предложить. Аха-ха-ха-ха-ха-хаaaa |
PRESIDENT > 16-07-2018 19:02:06 |
Герман Squatter скрытый текст в библии написано "...не бросайте жемчуга вашего перед свиньями, чтобы они не попрали его ногами своими и, обратившись, не растерзали вас" В другом переводе "не мечите бисер перед свиньями" |
Compunella > 17-07-2018 11:44:19 |
PRESIDENT пишет
Здравствуйте! Я так поняла, что форумчанин Squatter умышленно написал так код js, чтоб он не сохранял нужный текст. А для того чтоб с сайта спарсить надо немножко его код переиначить. И для этого можно использовать переменную {{!COL}}. Верно? скрытый текст Выделить код Код:for(a=0; a<5; a++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/viewtopic.php?pid=759923#p759923'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT {{!COL1}}'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT {{!COL2}}'); iimPlayCode('TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT {{!COL3}}'); iimPlayCode('ADD !EXTRACT {{!COL1}} \nADD !EXTRACT {{!COL1}} \nADD !EXTRACT {{!COL1}} \nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv'); } Я сама не проверяла, но по идее скрипт должен работать как надо Герману. Проверьте, если работает, значит всё там правильно. |
Squatter > 17-07-2018 12:20:58 |
OMG, понеслась клоунада со сменой пола и размножением клонов. Если б ты с таким же рвением FAQ по макросу читал. Compunella пишет
Да, совершенно верно. Умышленно, чтобы кое-кто включил наконец соображалку и допетрил подогнать чистый пример под свои нужды. Но этого, увы, не произошло. Видимо злые чары мешают сделать это третий день подряд. Уже два раза чёрным по белому написали, смени экстракты с колами на свои директивы, извлекающие текст со страницы и засунь их в один iimPlayCode(). В конечном итоге, готовый пример посмотреть не судьба? https://forum.mozilla-russia.org/viewto … 35#p759535 Это что, так трудно? скрытый текст Выделить код Код://При условии что команды извлекающие контент составлены правильно iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\nTAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\nTAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv'); |
Compunella > 17-07-2018 12:48:17 |
Squatter пишет
Вы решили всё в одну строчку уместить? Ну как вариант - да! Так тоже можно. Но не лучше ли было бы использовать команду ADD !EXTRACT и записать код более рациаонально? |
Squatter > 17-07-2018 14:28:41 |
Compunella пишет
Конкатенация в помощь скрытый текст Выделить код Код:iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\n'+ 'TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\n'+ 'TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\n'+ 'SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv'); Или использовать гравис скрытый текст Выделить код Код:iimPlayCode(` TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv `); Да, ещё обратным слешем можно разбивать строковый литерал скрытый текст Выделить код Код:iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\n\ TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\n\ TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\n\ SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv'); Compunella пишет
Пример более рационального кода в студию. |
SH0N > 20-07-2018 15:03:27 |
Всем доброго времени суток! Извиняюсь если этот вопрос поднимался неоднократно, по крайней мере ответа на форуме я не нашел. Собственно, возможно ли реализовать, что когда макрос доходил до конца списка т.е упирался в отсутствие кнопки, он листал макрос до момента Далее, заканчивал макрос грубо говоря ? Извиняюсь если топорно объясняю! скрытый текст Выделить код Код:TAG POS=2 TYPE=BUTTON ATTR=TXT:Клик WAIT SECONDS={{!VAR1}} TAG POS=1 TYPE=A ATTR=TXT:Далее Это часть кода, строка с тэг пос повторяется 50 раз |
karginaolga > 20-07-2018 15:17:25 |
SH0N скрытый текст Выделить код Код:var pos = window.document.querySelectorAll('тут селектор кнопки'); for (var w = 0; w < pos.length; w++) { pos[w].click(); iimPlayCode('WAIT SECONDS=1'); } iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:Далее'); |
SH0N > 20-07-2018 16:47:12 |
karginaolga пишет
Выдает ошибку скрытый текст Выделить код Код:Error: Accessing content window is not supported in multiprocess Firefox, line 208 (Error code: -991) Я не совсем понял, где найти селектор кнопки, не могли бы вы по подробней объяснить? Вот так выглядит полностью код скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX SET !ERRORIGNORE YES FILTER TYPE=IMAGES STATUS=OFF SET !VAR1 EVAL("Math.floor(Math.random()*10 + 38);") TAB T=1 EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(2)>DIV>ARTICLE>DIV:nth-of-type(2)>SECTION:nth-of-type(2)>DIV>A" BUTTON=0 TAG POS=2 TYPE=BUTTON ATTR=TXT:Обновить WAIT SECONDS={{!VAR1}} [Код сверху повторяется 50 раз] TAG POS=1 TYPE=A ATTR=TXT:Далее |
PRESIDENT > 20-07-2018 22:43:24 |
SH0N |
SH0N > 22-07-2018 21:50:41 |
PRESIDENT |
Squatter > 22-07-2018 22:41:34 |
SH0N пишет
скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
dim222 > 29-07-2018 19:40:42 |
Ребят! Кто-нить работает с ГУГЛ-таблицами запросами? Если не жалко поделитесь плиз! |
Алим > 11-08-2018 14:43:06 |
Подскажите пожалуйста, как переменную из 1 функции передать в другую? скрытый текст Выделить код Код:function память1(){ var sec = 10 } function память2(){ iimPlayCode('SET !ERRORIGNORE YES \n' + 'WAIT SECONDS='+sec+'') } память2() |
PRESIDENT > 11-08-2018 19:56:46 |
Алим скрытый текст Выделить код Код:func1(); /****************/ function func1(){ var sec = 10; func2(sec); } function func2(sec){ alert('Ждём '+sec+' секунд') iimPlay('CODE:WAIT SECONDS='+sec) } |
Алим > 12-08-2018 10:13:04 |
PRESIDENT |
Egorushka1974 > 20-08-2018 13:01:50 |
Мазила 47.0.1 Всем добрый день. скрытый текст Выделить код Код:{"asks":[["0.00005212",14865.4132]],"bids":[["0.00005201",14868.5982]],"isFrozen":"0","seq":192201830} я ее сэкстрактил в переменную, ну пусть temp как ее порезать с помощью регулярок, чтобы получить например некие переменные ? asks = 0.00005212; volasks = 14865.4132; так например ну и для bids аналогично. Спасибо. |
dim222 > 20-08-2018 13:25:22 |
Egorushka1974 пишет
Ты не умеешь работать с .json ? можно так. Выделить код Код:function loadFromJSON (filename) { var fileDescriptor = imns.FIO.openNode(filename); return JSON.parse(imns.FIO.readTextFile(fileDescriptor)); }; a = loadFromJSON ('file.json'); asks = a.asks[0][0]; Volasks = a.asks[0][1]; bids = a.bids; window.console.log(asks); window.console.log(Volasks); window.console.log(bids); |
Egorushka1974 > 20-08-2018 13:31:59 |
dim222 пишет
пока не умею 20-08-2018 13:53:12 dim222 пишет
Еще раз спасибо. скрытый текст Выделить код Код:var a = JSON.parse(temp); asks = a.asks[0][0]; Volasks = a.asks[0][1]; bids = a.bids[0][0]; Volbids = a.bids[0][1]; работает |
Алим > 23-08-2018 20:30:42 |
Иногда в iim нужен разный LOOP. Написал и получилось. скрытый текст Выделить код Код:'С какого начать? SET первый 1 SET один EVAL("var loop = {{!LOOP}}+{{первый}}-1;loop") prompt {{один}} 'С какого начать? SET второй 5 SET два EVAL("var loop = {{!LOOP}}+{{второй}}-1;loop") prompt {{два}} 'С какого начать? SET третий 100 SET три EVAL("var loop = {{!LOOP}}+{{третий}}-1;loop") prompt {{три}} |
Алим > 07-09-2018 18:29:07 |
Кто знает как проскроллить одним разом до указанного объекта на раскрытой странице? |
PRESIDENT > 07-09-2018 19:57:23 |
Алим |
Алим > 07-09-2018 21:04:07 |
PRESIDENT А вот так, работает скрытый текст или так скрытый текст |
Алим > 13-09-2018 20:46:35 |
В переменной txt помещается весь html код странички пользователя вконтакте через GET зпрос Как через DOM вывести име пользователя, не прибегая к регулярным выражениям? скрытый текст Выделить код Код:var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var b=XMLHttpRequest(); b.open('GET','https://vk.com/v.stanislavskaia',false); b.send(''); var txt = b.responseText; var txt = txt.getElementsByClassName('page_name')[0].innerHTML iimDisplay(txt) |
Eltar > 15-09-2018 21:47:18 |
Алим пишет
XPath? скрытый текст https://docs.google.com/document/d/1Pdf … zner1ml919 http://html-agility-pack.net/parser - библиотека, которую можно подключить в C#, ZennoPoster. Очень толковая и удобная. Возможно можно подключить к JS или Imacros. http://kronus.me/2011/04/%D0%B2%D0%B2%D … %81%D0%B5/ - Пример использования библиотеки. Также очень советую обратить внимание на средство для разгадки капч CapMonster. Можно использовать как в связке с ZennoPoster, так и связку Imacros+JS+CapMonster. Когда зарабатывал на кранах и сократителях, гадал сотнями тысяч капч в день на выделенном сервере, получилось и сэкономить за счет автоматической разгадки и заработать порядочно денег благодаря этим продуктам. В общем, очень рекомендую: скрытый текст Капмонстр: https://zennolab.com/ru/products/capmonster/pid/gor Зенка: https://zennolab.com/ru/products/zennoposter/pid/gor PS: Уважаемый админ, не сочти за тупую рекламу. |
s.stake > 16-09-2018 20:58:26 |
Если не сложно, подскажите. Есть скрипт, он обходит по страницам из имеющейся базы и сохраняет нужную мне информацию со страницы в txt фаил. Помогите внедрить GET запрос, что бы не заходить на страницу каждый раз а просто прогружать ее в окне браузера а дальше работать по имеющемуся скрипту. Скрипт работает в цикле по кол-ву страниц в базе. скрытый текст Выделить код Код:SET !ERRORIGNORE YES FILTER TYPE=IMAGES STATUS=ON SET !DATASOURCE_DELIMITER ; SET !DATASOURCE D:\Baza.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} TAG POS=1 TYPE=a ATTR=class:"_64-f" EXTRACT=TXT TAG POS=1 TYPE=A ATTR=HREF:*page_about_category EXTRACT=TXT TAG POS=4 TYPE=DIV ATTR=TXT:*follow<SP>this EXTRACT=TXT ADD !EXTRACT {{!URLCURRENT}} SAVEAS TYPE=EXTRACT FOLDER=* FILE=BAZA_UPDATE.txt |
InfSub > 16-09-2018 22:12:24 |
s.stake пишет
да, ...дцать раз перечесляете команды обработки (нижний блок) с изменением pos s.stake пишет
все банально, гугл по словам "js циклы" и чтение/поиск по данной теме |
s.stake > 16-09-2018 23:21:27 |
InfSub InfSub |
InfSub > 17-09-2018 01:53:19 |
s.stake скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. так и на примерах приведенных на нашем форуме, с привязкой js к imacros вы же, судя по вашему посту, не пошевелили и пальцем... иначе б ваш пост содержал пример кода с вопросом, вида: "сделал так, не работает, в чем ошибка?" ошибаюсь? возможно, но тогда где результаты ваших проб и ошибок? 17-09-2018 02:22:02 s.stake пишет
если вы за 1.5 года не смогли освоить основы js, к коим относятся циклы, то тут можно сделать только 2 вывода, либо вы и не пытались освоить, либо ваш iq плачевно мал |
s.stake > 17-09-2018 17:25:23 |
InfSub флуд не по теме и ИМХО автора Если бы я первый раз зашел на этот форум, то задумался бы в адекватности и компетентности ваших ответов. Но так как не первый раз с вами сталкиваюсь на этом форуме, убеждался ранее, что это не так. Наверно просто не в этом случаи. InfSub |
InfSub > 18-09-2018 18:36:05 |
s.stake offtop если, бы вы пришли на форум впервые, я бы и не утверждал что вы за 1.5 года не смогли изучить циклы. в ваших более ранних постах присутствует js, в данном же посте попытка перекинуть задачу на форумчан: "типа мне лень разбираться самому, напишите за меня", для таких запросов - есть отдельная тема iMacros: Поиск и заказ скриптов повторюсь еще раз, в последний, я не вижу конкретного вопроса, а именно что не получилось реализовать на js, что вы пробовали сделать, где код, который у вас не работает? или запихнуть часть кода в цикл это грандиозная задача которую невозможно выполнить? так посмотрите собственные вопросы годичной давности, там также есть циклы |
dvitkovs2 > 28-09-2018 00:13:20 |
Здравствуйте! Подскажите пожалуйста команду для iim скрипта чтоб нажимала клавиши ctrl + v, то есть вставляла скопированный из буфера текст в нужное поле. Как записать? Должно быть примерно так? скрытый текст |
udalov > 28-09-2018 05:58:27 |
dvitkovs2, Вот тут есть два способа https://forum.mozilla-russia.org/viewto … 30#p731830 а нет, это не совсем то, что надо... |
dvitkovs2 > 28-09-2018 06:33:12 |
udalov InfSub |
dvitkovs2 > 28-09-2018 08:37:40 |
Нашёл как имитировать нажатия клавиш ctrl +v, но толку мало. Вот код: скрытый текст Выделить код Код:EVENT TYPE=KEYPRESS SELECTOR="#\\38 9970030-D696-4CB4-A260-1F6B013875BB_6620494298226200" CHAR="v" MODIFIERS="ctrl,v" при этом скопированное в буфер вставляется в нужное поле только если в значении SELECTOR прописаны те данные, которые прописаны. Так вот: последняя часть этих данных (6620494298226200) каждый раз меняется при обновлении страницы. Если же вместо этих изменяющихся данных просто написать *, то ничего не будет, тогда код не сработает и скопированное в буфер не вставится. Что можно сделать в данной ситуации? Как вставлять данные в нужное поле, если данные SELECTOR всегда меняются, подскажите пожалуйста кто-нибудь? Просто есть такие хитрые сайты, когда простыми средствами нельзя вставить данные в поля, там даже в ручную при написании текста может сразу появляться предупреждение, что текст вводится не на латинице, или нет нужного символа, или есть запрещённый символ. И хотя просто вставлять текст там можно в принципе и самым обычным способом imacros, но тогда при нажатии "ввод", будет выдавать ошибку что данные не введены или введите правильные данные. В общем это такие поля, которые можно заполнять только вручную или через EVENT, но через EVENT надо чтоб и SELECTOR был точно указан, а он всегда меняется. Подскажите какой лайфхак, как на таких сайтах вставлять текст в такие поля? |
PRESIDENT > 28-09-2018 11:21:52 |
dvitkovs2 |
dvitkovs2 > 28-09-2018 16:29:57 |
PRESIDENT А если его заменять звёздочкой *, то вообще команда не работает, не вставляется скопированное из буфера в нужное поле\строку. |
InfSub > 28-09-2018 23:22:34 |
dvitkovs2 пишет
event - не работает с модификаторами, например со звездочкой dvitkovs2 пишет
при использованиии iim-скриптов и event - да, это единственный вариант |
dvitkovs2 > 28-09-2018 23:31:46 |
InfSub пишет
А если не iim скриптов, а js скриптов? Просто тут iim код был предоставлен в качестве примера, а сам скрипт будет js. Для js есть иной вариант кроме как каждый раз как-то извлекать и вставлять в код? |
PRESIDENT > 29-09-2018 12:34:05 |
Я не пойму зачем тебе вообще ctrl + v вот этим копируешь в буфер обмена скрытый текст Выделить код Код:TAG POS=1 TYPE=DIV ATTR=CLASS:postmsg&&id:message761883 EXTRACT=TXT SET !CLIPBOARD {{!EXTRACT}} а этим вставляешь из буфера обмена скрытый текст код публикуется в тегах code под спойлером и функция EVENT самая коряво работающая команда омакроса, InfSub |
dvitkovs2 > 30-09-2018 17:06:07 |
Подскажите пожалуйста, как брать и вставлять данные из текстового файла, если используется функция EVENT ? В данном случае такой код: скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE spygasm-login.txt\nSET !DATASOURCE_LINE '+q+'\nSET !EXTRACT {{!COL1}}'); // это правильно записанная строка, так данные берутся из текстового файла и вставляются в поле ввода iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:username CONTENT='+iimGetExtract()); // а эта строка с функцией EVENT работает не правильно, то есть не берет данные из текстового файла и не вставляет в поле ввода, вместо этого прописывает +iimGetExtract()+ iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>MAIN>HEADER>DIV>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV>DIV>DIV>DIV>INPUT" CHARS="+iimGetExtract()+"'); Та строчка что в середине, нормально работает и данные из файла берутся и вставляются в нужное поле. А вот самая нижняя строчка, с функцией EVENT не работает как надо. То есть из файла данные не берет, а прописывает в поле ввода +iimGetExtract()+. Подскажите как надо записать эту нижнюю строчку с функцией EVENT правильно, чтоб брались данные из текстового файла и вставлялись в поле ввода? |
InfSub > 30-09-2018 20:06:39 |
dvitkovs2 |
dvitkovs2 > 30-09-2018 20:59:37 |
InfSub скрытый текст Выделить код Код:iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>MAIN>HEADER>DIV>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV>DIV>DIV>DIV>INPUT" CHARS="'+iimGetExtract()+'"'); но так оно вообще ничего не вставляется, хотя нажатие на нужное поле ввода происходит, а поле остаётся пустым. |
InfSub > 30-09-2018 21:10:53 |
dvitkovs2 скрытый текст скриншот в студию |
dvitkovs2 > 30-09-2018 21:18:26 |
Если делать такой командой: скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:username CONTENT='+iimGetExtract()); то "имя пользователя" вставляется (хотя и не так как надо, а надо именно через EVENT потому что сайт такой, там без EVENT так как надо imacros не вставит данные) В общем не понятно. Почему текст из файла не вставляется такой строкой (EVENT): с EVENT Выделить код Код:iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>MAIN>HEADER>DIV>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV>DIV>DIV>DIV>INPUT" CHARS="'+iimGetExtract()+'"'); вроде записано правильно, а поле ввода всё равно пустым остаётся |
InfSub > 30-09-2018 21:50:10 |
dvitkovs2 30-09-2018 22:07:31 30-09-2018 22:14:55 30-09-2018 22:18:15 скрытый текст Выделить код Код:iimPlayCode('set !extract 123') var result=iimGetExtract() alert(iimGetExtract()) // выведет 123 iimPlayCode('') alert(iimGetExtract()) // выведет пустоту alert(result) // выведет 123 |
dvitkovs2 > 30-09-2018 23:18:51 |
InfSub |
koljan8115 > 06-10-2018 22:08:58 |
Здравствуйте! Я давно не использовал расширение iMacros for Firefox, да и не знаток js, так что извините если для кого вопрос буде обыденным. скрытый текст Выделить код Код:var macros = ''; var n = '\n'; macros += 'URL GOTO=https://link.na.kran' + n; /*здесь ссылка на кран*/ for (var i = 1; i = 3; i++) { /* здесь я присваиваю начальное значение i=1 с приращением +1, цикл должен был, как я думал, завершиться когда i=3*/ macros += 'TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT::Faucet' + n; macros += 'WAIT SECONDS=3600' + n; iimPlayCode(macros);} /*здесь я закрываю тело цикла*/ Когда я закрываю тело цикла вместо того чтобы завершиться на i=3 происходит следующее: 1-й проход как и ожидалось, 2-й раз проходит ссылку и 2 раза тело цикла, 3-й раз проходит ссылку и 3 раза тело цикла, ..., пока не остановишь. Где я ошибся? И возможно-ли запуститть цикл на определённое время, например на 4 часа? Так же интересует возможно-ли через расширение iMacros управлять приложениями в области уведомлений Windows? |
InfSub > 06-10-2018 22:27:22 |
koljan8115 пишет
koljan8115 пишет
ваше условие (расшифровываю): koljan8115 пишет
да, в начале скрипта, присваиваете переменной, например, переменной start_time - текущее время (в формате timestamp - в миллисекундах), прибавляете к ней 4*60*60*1000 (часы*минуты*секунды*миллисекунды) далее сравниваете текущее время (в миллисекундах) c переменной start_time koljan8115 пишет
что вы имеете ввиду под приложениями в области уведомлений? |
koljan8115 > 06-10-2018 22:54:02 |
Спасибо за пояснения к коду! |
InfSub > 06-10-2018 22:59:26 |
koljan8115 пишет
OVPN у вас работает для всего ПК а не для конкретной вкладки в браузере спойлер про незнание js koljan8115 пишет
ребят, скоро буду банить за вот такие фразу, вам гугл лень открыть и посмотреть принцип синтаксис записи цикла? 06-10-2018 23:01:55 koljan8115 в дополнение к предыдущему комменту: если вы одномоментно работаете либо только с заблоченным сайтом либо с незаблоченным то вы можете либо стартовать OVPN либо убивать его через taskkill или если он позволяет закрывать себя консольно, то через командную строку самого OVPN собственно где посмотреть как работать с внешними приложениями - ссылку дал выше также примеры можно посмотреть в теме про капчу, там в примерах скриптов есть вызовы внешних утилит |
koljan8115 > 06-10-2018 23:41:25 |
Извиняюсь, я уже понял почему в условии цикла: for (var i = 1; i < 3; i++). Здесь 2 круга т.к. начальное значение i=1, а условие i<3 и значит 2 не приращается; но остаётся вопрос почему не сходится количество "Claim'ов"(нажатий на кнопку). |
InfSub > 07-10-2018 01:06:17 |
koljan8115 для справки: раз уж вам лень было погуглить, i равно 3 пишется как i==3 (двойной знак равно - означает равенство, одинарный знак равенства - означает присвоение значения переменной) |
koljan8115 > 07-10-2018 17:49:54 |
Клайм, как написано выше - это клик по кнопке "Собрать". Числа немного другие, здесь я изменял код. скрытый текст Выделить код Код:var macros = ''; var n = '\n'; macros += 'URL GOTO=http://demo.imacros.net/Automate/TestForm1' + n; macros += 'TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=ID:name CONTENT=цикл' + n; macros += 'WAIT SECONDS=10' + n; for ( i = 1; i < 4; i++) { macros += 'TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=ID:medium' + n; macros += 'WAIT SECONDS=5' +n; macros += 'TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=ID:large' + n; macros += 'WAIT SECONDS=5' + n; macros += 'TAG POS=1 TYPE=INPUT:RADIO FORM=ID:demo ATTR=ID:small' + n; macros += 'WAIT SECONDS=7' + n; iimPlayCode(macros);} Здесь результат: скрытый текст Как видно из цикла, насколько я понимаю, он должен был кликнуть по радиокнопке "Small" 3 раза, но вместо этого кликает 6 раз( 1 раз в первом круге, 2 раза во втором круге, 3 раза в третьем круге). |
PRESIDENT > 07-10-2018 18:13:43 |
Как ты скрипт составил так он и работает !!! У тебя сначала ставит галочку в чекбоксе medium и всё заново, новый цикл так нахрена ты в одном цикле по всем чекбоксам кликаешь ??? Напиши что ты хочешь, что скрипт делать должен, |
koljan8115 > 07-10-2018 18:47:20 |
PRESIDENT, Всё правильно так я и хотел но с одним исключением чтобы кликов по "Small" суммарно было 3 раза за 3 прохода, а не 6 раз за три прохода. Конечно я могу поставить i<3 и тогда цикл выполнится пусть за 2 круга, но сделает 3 клика по "Small". Но проблема в том, что я не могу выставить ни 4 клика ни 5 кликов, так как за 2 круга совершается 3 клика по "Small", а за 3 круга уже 6 кликов. 07-10-2018 18:51:49 PRESIDENT пишет
Почти, только на втором круге делается почему-то всё дважды, а на третьем - трижды, если добавить четвертый круг - то четырежды и тд. 07-10-2018 18:56:39 |
PRESIDENT > 07-10-2018 19:05:08 |
Руки бы повыдергивать за такую писанину Пиши нормально и будет работать нормально. скрытый текст Выделить код Код:iimPlayCode('URL GOTO=http://demo.imacros.net/Automate/TestForm1'); iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:name CONTENT=цикл'); iimPlayCode('WAIT SECONDS=10'); for (i = 1; i < 4; i++){ iimPlayCode('TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:medium'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:large'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:small'); iimPlayCode('WAIT SECONDS=7'); } твой вариант Выделить код Код:var macros = '', n = '\n'; macros += 'URL GOTO=http://demo.imacros.net/Automate/TestForm1' + n; macros += 'TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:name CONTENT=цикл' + n; macros += 'WAIT SECONDS=10'; iimPlayCode(macros); for (i = 1; i < 4; i++){ var macros = ''; macros += 'TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:medium' + n; macros += 'WAIT SECONDS=5' +n; macros += 'TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:large' + n; macros += 'WAIT SECONDS=5' + n; macros += 'TAG POS=1 TYPE=INPUT:RADIO ATTR=ID:small' + n; macros += 'WAIT SECONDS=7'; iimPlayCode(macros);} |
Герман > 08-10-2018 21:33:21 |
Здравствуйте! Подскажите как в Javascript, работающем в цикле сделать чтоб включалась команда PAUSE в заданное время, например в 22:38 по времени компьютера? Вот тут есть один скрипт, который вроде как должен был бы работать, да не работает почему-то. Там простую операцию делает: открывает в цикле одну и ту же страницу сайта. И в заданное время надо чтоб скрипт сделал паузу. А потом в заданное время снова продолжил бы цикл дальше. скрытый текст Выделить код Код:for(a=1; a<99999; a++) { iimDisplay('Номер '+a); iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://2ip.ru/'); function getTime(date){ return date.toLocaleTimeString('en-US', { hour12: false, hour: "numeric", minute: "numeric", second: "numeric" }); } var createDate = function(time){ return new Date('01.01.2000' + time); } var loop = { act: true, doNotPlay: [ { from: createDate('13:33:00'), to: createDate('13:34:00') }, { from: createDate('13:45:00'), to: createDate('13:46:00') }, ], start : function() { // проверка на то что текущая дата между датами window.setInterval(function(){ this.act = this.doNotPlay.every(function(dates){ var currentDate = createDate(getTime(new Date())); if (dates.to - currentDate < dates.to - dates.from && dates.to - currentDate > 0) { return false; } else return true; }); }, 1000); // job window.setInterval(function(){ if (this.act) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://2ip.ru/'); iimPlayCode('PAUSE'); } this.act && console.log('action: ' + new Date().toString()); }, 1000); } }; loop.start(); } Подскажите, может вообще-то есть какой-то другой, более простой способ, более простой скрипт (код), который бы выполнял подобную задачу, делать паузы в заданное время? |
InfSub > 09-10-2018 00:22:46 |
Герман пишет
ох уж эти горе программисты, все бы им в цикл запихнуть, и инициализацию функции, и setInterval .... Герман пишет
есть - пишется за 5 минут - час, в зависимости от знаний и умения гулить |
Герман > 14-10-2018 23:14:28 |
InfSub пишет
не, ну за 5 минут и даже за час, это вы явно преувеличили! Я тут уже несколько дней не могу состряпать такой скрипт, чтоб паузу делал в заданное время 14-10-2018 23:16:38 |
udalov > 15-10-2018 07:46:14 |
Герман пишет
Могу предложить костыль: перед запуском скрипта вручную высчитывате количество секунд до нужного для паузы времени и перед командой PAUSE вставляете команду WAIT SECONDS=хххтутКоличествоСекундДоПаузы |
InfSub > 15-10-2018 22:29:17 |
udalov 15-10-2018 22:58:13 Герман пишет
хотите сказать 4 строчки текста пишутся больше? даже с учетом гугла? вот простейший вариант без проверок на то что время уже прошло и надо увеличить дату: скрытый текст Выделить код Код:var r=prompt('Остановить в, (чч:мм):').split(':'); var date = new Date(); var stop = +new Date(date.getFullYear(),date.getMonth(),date.getDate(),r[0],r[1]); if(Date.now()>=stop){iimPlayCode('pause');}; писалось 10 минут с учетом того, что давно с объектом Date() не работал и надо было подсмотреть его методы + плюс потестить |
InfSub > 15-10-2018 23:04:54 |
или вообще можно в 1 строчку, но скрипт править каждый раз придется: скрытый текст |
dim222 > 16-10-2018 18:22:51 |
Уважаемые знатоки !!! Стоит вопрос мониторинга ботов удаленно. Т.е. мониторить стату ботов в любое время и месте. |
Squatter > 16-10-2018 20:17:45 |
dim222 Удаленный доступ к рабочему столу? Закинуть ботов на VPSку? |
Герман > 16-10-2018 23:28:20 |
InfSub пишет
удалено избыточное цитирование скрытый текст Выделить код Код:function getTime(date){ return date.toLocaleTimeString('en-US', { hour12: false, hour: "numeric", minute: "numeric", second: "numeric" }); } var createDate = function(time){ return new Date('01.01.2000' + time); } var loop = { act: true, doNotPlay: [ { from: createDate('13:33:00'), to: createDate('13:34:00') }, { from: createDate('13:45:00'), to: createDate('13:46:00') }, ], start : function() { // проверка на то что текущая дата между датами window.setInterval(function(){ this.act = this.doNotPlay.every(function(dates){ var currentDate = createDate(getTime(new Date())); if (dates.to - currentDate < dates.to - dates.from && dates.to - currentDate > 0) { return false; } else return true; }); }, 1000); // job window.setInterval(function(){ if (this.act) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=адрес'); iimPlayCode('PAUSE'); } this.act && console.log('action: ' + new Date().toString()); }, 1000); } }; loop.start(); правда не доведен до ума. А так в нём есть очень хорошая функция, типа будильника\таймера по установленному времени: скрытый текст Выделить код Код:{ from: createDate('13:33:00'), to: createDate('13:34:00') }, { from: createDate('13:45:00'), to: createDate('13:46:00') }, то есть таким образом можно задать столько таймеров\будильников сколько надо. И они будут в назначенное время ставить скрипт на паузу и в нужное время снова возобновлять работу. Вот если б так реализовать, вернее довести этот код до ума, было бы вообще супер! Ну благодарю что показали простейший вариант кода для паузы. Но я все равно буду пытаться реализовать вариант скрипта, код которого я тут выложил. Мне кажется сам код в принципе рабочий, только надо что-то подправить. Что именно пока не знаю, но думаю загвоздка может быть тут: скрытый текст то есть когда запускаю скрипт, то происходит переход по указанному адресу и потом пауза и всё, стоит на паузе. Явно в этих строчках косяк. Как-то иначе должно быть записана эта часть скрипта? InfSub |
dim222 > 17-10-2018 03:09:10 |
Squatter пишет
Ok! Допустим каждый бот посылает данные на сервер в формате .json. |
Squatter > 17-10-2018 04:32:07 |
dim222 Можно на php принять и обработать. Пустой log.txt, куда будет писаться лог и какой-нибудь recording_log.php в кодировке UTF-8 без BOM следующего содержимого скрытый текст Выделить код Код:<?php #Принимаем входные данные JSON $json_str = file_get_contents('php://input'); #Декодируем json в объект $obj = json_decode($json_str); #Дальше можно циклом foreach() перебрать объект или как ниже по ключам выбирать из объекта параметры нужные для логирования #Собираем в переменную $text нужные параметры объекта для сохранения (конкатенация в php идёт через точку) $text = $obj["key1"] . "\n" . $obj["key2"] . "\n" . $obj["key3"] . "\n"; $text .= str_repeat("=", 50);//Прибавляем разделитель для украшательства $text .= date('Y-m-d H:i:s') . "\n";//Прибавляем текущую дату и время если нужно #Открываем файл куда логируем действия $file = fopen("log.txt", "a"); #Записываем в файл содержимое переменной $text fwrite($file, $text); fclose($file);//Закрываем файл ?> И посылаем аяксом JSON на этот файлик recording_log.php Вывести значение или информацию о переменной можно Можно логировать сразу в БД и кошерно выводить в виде динамической странички, для этого знакомьтесь с SQL языком запросов. |
dim222 > 17-10-2018 05:01:34 |
Squatter |
dim222 > 17-10-2018 05:46:18 |
Squatter Ключ-значение приходят в виде пустых строк,в log.txt записывается только дата. скрытый текст Выделить код Код:var X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var x = new X(); x.open('GET','https://code.jquery.com/jquery-3.3.1.min.js',false); x.send(); eval(x.response); $ = window.$, JQuery = window.JQuery; var url = "http://test.ru/recording_log.php"; var data = {"key1":"value1","key2":"value2","key3":"value3"}; $.post(url, data, function(response) { // Do something with the response }, 'json'); |
dim222 > 17-10-2018 08:27:35 |
Squatter js Выделить код Код:var X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var someObj = {"key1":"value1","key2":"value2","key3":"value3"}; var x = new X(); x.open('POST', 'http://test.ru/recording_log.php'); x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); x.send('param=' + JSON.stringify(someObj)); php Выделить код Код:<?php $param = json_decode($_REQUEST["param"]); $result = "key1 - ".$param->key1. "\n" . "key2 - ".$param->key2. "\n" . "key2 - ".$param->key2. "\n"; $result .= str_repeat("=", 50);//Прибавляем разделитель для украшательства $result .= date('Y-m-d H:i:s') . "\n";//Прибавляем текущую дату и время если нужно #Открываем файл куда логируем действия $file = fopen("log.txt", "a"); #Записываем в файл содержимое переменной $text fwrite($file, $result); fclose($file);//Закрываем файл echo print_r($var); ?> |
InfSub > 17-10-2018 13:32:45 |
Герман 17-10-2018 13:35:48 Герман пишет
да-да, именно так и есть, как в анекдоте где бухал-бухал, а потом печенькой отравился |
Squatter > 17-10-2018 14:16:47 |
dim222 Правильно. Вот пример с циклом, логируем и ключ и значение. js Выделить код Код:var X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var someObj = {key1:"value1",key2:"value2",key3:"value3"}; var x = new X(); x.open('POST', 'http://test.ru/recording_log.php'); x.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); x.send(encodeURIComponent(JSON.stringify(someObj))); php Выделить код Код:<?php #Принимаем входные данные JSON $json_str = file_get_contents('php://input'); #Декодируем json в объект $obj = json_decode(urldecode($json_str), true); $result = str_repeat("=", 30);//Ставим разделитель $result .= date('Y-m-d H:i:s') . "\n";//Прибавляем текущую дату и время если нужно foreach ($obj as $key => $val) { $result .= $key . " => " . $val . "\n"; } #Открываем файл куда логируем действия $file = fopen("log.txt", "a"); #Записываем в файл содержимое переменной $result fwrite($file, $result); fclose($file);//Закрываем файл ?> Можно ещё пару проверок добавить на входящий json php Выделить код Код:<?php $json_str = file_get_contents('php://input'); if(is_array(($obj = json_decode(urldecode($json_str), true))) &&//Это массив, а не что-то ещё json_last_error() == JSON_ERROR_NONE)//Ошибок при декодировании JSON нет { $result = str_repeat("=", 30); $result .= date('Y-m-d H:i:s') . "\n"; foreach ($obj as $key => $val) { $result .= $key . " => " . $val . "\n"; } $file = fopen("log.txt", "a"); fwrite($file, $result); fclose($file); } ?> |
Squatter > 17-10-2018 15:32:31 |
Да, кстати, для тех, кто не знает, чтобы запрос отображался на вкладке "Сеть" скрытый текст его нужно формировать не через конструктор, а в контексте текущей вкладки скрытый текст Выделить код Код:var someObj = {key1:"value1",key2:"value2",key3:"value3"}; var x = new window.XMLHttpRequest(); x.open('POST', 'http://logs.ru/recording_log.php'); x.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); x.send(encodeURIComponent(JSON.stringify(someObj))); Естественно при этом домен запроса должен быть открыт в текущей вкладке, чтобы запрос получился. Это удобно для отладки запроса, чтобы видеть какие данные отправляются |
Герман > 17-10-2018 23:09:45 |
InfSub пишет
Подскажите пожалуйста, в чём может быть косяк, если пауза не срабатывает? Вот простейший пример скрипта в цикле. Добавил туда эту строчку, а паузы так и нет: скрытый текст Выделить код Код:for(a=1; a<999; a++) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://whoer.net/'); if(Date.now()>=+new Date(2018,10,17,23,09)){iimPlayCode('pause');}; } |
InfSub > 18-10-2018 14:26:46 |
Герман |
Герман > 18-10-2018 23:09:35 |
InfSub скрипт записан по правилам указывания номера месяца, но паузы по времени так и нет Выделить код Код:for(a=1; a<999; a++) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://whoer.net/'); if(Date.now()>=+new Date(2018,09,18,23,07)){iimPlayCode('pause');}; } InfSub |
InfSub > 18-10-2018 23:17:09 |
Герман |
Герман > 18-10-2018 23:21:49 |
Del |
InfSub > 18-10-2018 23:38:31 |
Герман 18-10-2018 23:43:33 |
Герман > 19-10-2018 00:16:31 |
InfSub пишет
Сейчас проверил iMacros, точнее фаерфокс взял другой версии: (56-той) - работает! А на 52-рой не работало. Но не работало как оказалось лишь потому, что там в браузере настройки были не такие. Сама версия iMacros и там и там 8.9.7. А так в принципе работает! Поэтому выражаю вам огромную благодарность! Благодарю за потраченное время и ресурсы! И забираю свои слова обратно, на счёт кривости кода. Код - замечательный и рабочий! Ещё раз СПАСИБО вам за труды!!! |
udalov > 19-10-2018 10:02:02 |
Здравствуйте. Из таблиц гугл-докс кто нибудь пробовал считывать данные и потом сохранять в эти же таблицы? Сейчас пробую - ни в одном режиме записи не записываются нужные действия и не воспроизводятся. Может, у кого есть готовое решение или с гугл-таблицами iMacros не работает? Задача простая - из первого столбца брать урл и открывать его в новой вкладке. |
Герман > 19-10-2018 11:04:48 |
InfSub пишет
Просто изменить pause на wait seconds= оно-то можно, но что получится? Получится, что при достижении заданного времени будет срабатывать пауза в цикле. То есть по кругу, постоянно, пока работает цикл. Вот код, где вместо pause поставлено WAIT SECONDS= скрытый текст Выделить код Код:for(a=1; a<999; a++) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://whoer.net/'); if(Date.now()>=+new Date(2018,09,19,10,53)){iimPlayCode('WAIT SECONDS=10');}; } получается, что после того WAIT SECONDS= истекло, цикл дальше работает и сразу же снова включается WAIT SECONDS=. И так по кругу. И как это устранить? Надо как-то аннулировать "дату"? 19-10-2018 11:16:18 InfSub пишет
Так тоже пробовал, но что-то не идёт. Видать "pause" не даёт включиться команде continue (дальше). Вот дописанный код, где добавлено действие, что с такого-то времени работаем дальше: скрытый текст Выделить код Код:var r=prompt('Остановить в, (чч:мм):').split(':'); var p=prompt('Продолжить в, (чч:мм):').split(':'); var date = new Date(); var stop = +new Date(date.getFullYear(),date.getMonth(),date.getDate(),r[0],r[1]); var play = +new Date(date.getFullYear(),date.getMonth(),date.getDate(),p[0],p[1]); for(a=1; a<999; a++) { iimPlayCode('TAB CLOSEALLOTHERS\nCLEAR\nURL GOTO=https://whoer.net/'); if(Date.now()>=stop){iimPlayCode('pause');}; if(Date.now()>=play){continue;}; } pause стоит и всё. И не даёт продолжать дальше. Может надо чтоб сброс паузы сначала сработал? |
InfSub > 19-10-2018 16:26:01 |
Герман ну детские-то совcем вопросы может не будете задавать или вас в гугле забанили? читайте про условный оператор if else (js), а также про логически операторы И и ИЛИ (js) и wait seconds (iMacros) |
Алим > 19-10-2018 23:54:21 |
Не могу додуматься как это реализовать. У меня есть в скрипте разные условия 8 штук, которые можно включать и выключать. Как сохранять логин я знаю, не в этом вопрос. C условиями, операторами И, ИЛИ знаком и применять умею. Для примера привёл код скрытый текст Выделить код Код:// если написать выключить, то данное условие не сработает // пользователь может влючить не все, а может и одну, а может 3, по разному. var условие1 = "включить" var условие2 = "включить" var условие3 = "выключить" var условие4 = "включить" var условие5 = "выключить" var условие6 = "включить" var условие7 = "включить" var условие8 = "выключить" if(условие1 == "включить"){ if ( .... ){ // верно }else{ // не верно } } if(условие2 == "включить"){ if ( .... ){ // верно }else{ // не верно } } if(условие3 == "включить"){ if ( .... ){ // верно }else{ // не верно } } // и т.д. до 8 услвия // Здесь надо, чтобы скрипт понял какие условия включены, // чтобы именно их проверял // и все включённые условия должны быть верными, // чтобы скрипт сохранил логин. |
InfSub > 20-10-2018 12:54:35 |
Алим Алим пишет
так у вас это и реализовано, в чем проблема-то собственно? |
Алим > 20-10-2018 13:47:17 |
InfSub После того, как эти условия пройдут (1 цикл), нужно 9-ое условие в котором должны сравниваться все включенные условия (условия которые были включены пользователем) и эти сраниваемые условия должны быть все верными, то есть после первого цикла в этих включенных условиях должно пройти всё верно, а если в этих включенных условиях хоть одна была не верной, то не верно - не сохраняет логин. |
InfSub > 20-10-2018 14:12:14 |
Алим |
Алим > 20-10-2018 14:37:41 |
InfSub Создал 9-ое условие скрытый текст Выделить код Код:if(check == 0){ iimDisplay('не сохраняем логин') }else{ iimDisplay('сохраняем логин') // код для сохранение логина } Всё заработало, как нужно. Натолкнули на правильные мысли. Спасибо большое. |
InfSub > 21-10-2018 00:58:14 |
Алим |
udalov > 22-10-2018 06:57:58 |
Здравствуйте. Подскажите по коду скрытый текст Выделить код Код:iimPlayCode('TAG POS=5 TYPE=DIV ATTR=TXT:Краткая<SP>информация* EXTRACT=TXT'); data1=iimGetExtract().split('Подписчики: ')[1]; alert(data1); код публикуется в тегах code под спойлером Пример вывода:
Как убрать всё после "человек"? InfSub |
karginaolga > 22-10-2018 08:18:57 |
udalov скрытый текст |
Герман > 22-10-2018 16:52:26 |
большие цитаты - прячутся под спойлер Hamzat пишет
Скажите, а как сохранять куки в json файл (или как удобно на диск)? Вот например зашли мы на сайт, авторизовались и теперь надо сохранить куки. Как это сделать? А то вот тут Hamzat написал, что сохраняем куки, а как это сделать не написал: скрытый текст Выделить код Код:imJS.getCookie('vk.com'); // Получаем куки и сохраняем в json файл или как удобно на диск Это надо примерно такой командой скрытый текст код публикуется в тегах code под спойлером ? Или тут всё совсем иначе? замечание InfSub |
InfSub > 23-10-2018 14:55:10 |
Герман сохранять можно так как вам удобно: удобно с помощью функции iMacros - сохраняйте ей, не удобно, читайте форум, тут давался вариант js-функции |
Duh > 27-10-2018 21:06:34 |
немного офтопа. не понимаю я разработчиков iMacros. зачем так все жестко ограничивать и запрещать скрипт в новых розширеннях к браузерам да за что там платить? я вот недавно разобрался как делать макросы отдельным расширением и это намного лучше чем на iMacros. можно сделать все тоже и без заморочек с ключами. про стабильность работы аймакрос и просто скриптов я уже молчу)) только на iMacros проще все, но вы портите знания программирования. лучше сразу учится чистому язику программирования. Потому потратьте несколько дней на информацию о разработке расширений з браузеру и не будете зависеть от кого то. |
Squatter > 27-10-2018 22:22:47 |
Duh в новых версиях помимо ограничений "стимулирующих коммерческое развитие продукта", есть функции, которые в принципе больше не доступны Не поддерживается в iMacros 10.x.x.x
Подозреваю, что дело тут в API WebExtensions. Если со всеми хаками реализовать утерянные функции iMacrosa для quantum на новом API, то наверно расширение просто не пройдёт валидацию на AMO. Duh пишет
Неистово плюсую. |
udalov > 03-11-2018 07:09:42 |
Здравствуйте. Скажите, если у меня в js есть две или более переменных variable1 и variable2, то как мне их сохранить в файл в одну сроку? Вариант с одной переменной работает: скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT ' + variable+ '\nSAVEAS TYPE=EXTRACT FOLDER=C:\\4imacros\\ FILE=results.txt') Вариант с двумя переменными не могу сообразить, как правильно, следующий вариант не работает: скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT ' + variable+ '\nEXTRACT ' + variable2+ '\nSAVEAS TYPE=EXTRACT FOLDER=C:\\4imacros\\ FILE=results.txt') код публикуется в тегах code под спойлером InfSub |
InfSub > 05-11-2018 01:25:54 |
udalov скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT "' + variable+ '"\nEXTRACT "' + variable2+ '"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\4imacros\\ FILE=results.txt') 05-11-2018 01:27:25 Squatter пишет
поддерживаю |
Duh > 05-11-2018 11:31:06 |
Есть у мене макрос для удаления своих постов из груп вконтакте. скрытый текст Выделить код Код:for (nomc=0;nomc<=25;nomc++){ pr3=iimPlayCode('SET !TIMEOUT_STEP 1 \n TAG POS='+nomc+' TYPE=A ATTR=TXT:Удалить<SP>запись \n WAIT SECONDS=0.4'); if (+pr3 == -921) { nomc=26; } } код публикуется в тегах code под спойлером Меня интересует как команду скрытый текст код публикуется в тегах code под спойлером сделать на javascript? Через скрытый текст Выделить код Код:document.querySelector("#post-разные цифры_разные цифры > div > div.post_header > div > div.ui_actions_menu_wrap._ui_menu_wrap > div.ui_actions_menu._ui_menu > a:nth-child(1)").click(); код публикуется в тегах code под спойлером не работает. Это " #post-разные цифры_разные цифры" - всегда разные и не последовательные. В iMacros наверно другой подход выполнения команд. Я пока не могу найти в коде расширения ту команду. Помогите, если знаете. InfSub |
InfSub > 05-11-2018 23:26:48 |
Duh пишет
так извлеките их через extract (впрочем получение через DOM-модель тоже ни кто не отменял), а дальше либо js (предпочтительней), либо event |
Komsomoletz > 07-11-2018 21:25:01 |
Здравствуйте! Скажите, как спарсить ники-имена пользователей на одном из форумов, если в обычном стандартном способе там всё сохраняется не в столбик, а всё в одну строку? Как быть? |
InfSub > 08-11-2018 03:51:19 |
Komsomoletz |
Komsomoletz > 08-11-2018 10:16:57 |
InfSub пишет
А что значит в каких тегах? это как посмотреть можно, где? в исходном коде страницы сайта что-ли? А как они там выглядят вообще эти теги? |
PRESIDENT > 08-11-2018 16:42:35 |
... EXTRACT=TXT ... HTM... |
Komsomoletz > 08-11-2018 18:03:34 |
PRESIDENT пишет
получился очень большой файл, много мусора. Ладно, фик с ним. А подскажите лучше как цикл пустить наоборот, то есть чтоб не с 1 повторял по кругу, а с конца, допустим с 100 и далее 99, 98, 97, 96 и т.д. до 1 (или до 0) скрытый текст Выделить код Код:for(i=1; i<100; i++){ iimDisplay(+i); iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:'+i); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=HTM\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=Name.txt'); } Как его переиначить, чтоб отсчёт был обратный? что для этого надо? + на - поменять? и < поменять на > ? Или не так всё просто? |
PRESIDENT > 08-11-2018 19:26:31 |
Да весь файл не нужно показывать, а именно ту строку где пользователь прописан. То что перед ним, это и есть нужные тебе теги, о которых модер писал. Нужно плюс на минус заменить, больше на меньше, и естественно не от единицы до ста считать, а наоборот. И вообще такие детские вопросы даже моя семилетняя дочка и то легко гуглит. |
Алим > 18-11-2018 14:58:19 |
Приветствую. Не могу извлечь цифры на веб странице (биржа). Ссылка на страницу (регистрация не требуется) скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Выделил в каком месте нужно извлекать меняющиеся цифры. скрытый текст С такой ситуацией не сталкивался. |
Egorushka1974 > 18-11-2018 19:35:11 |
Алим пишет
а GET запросами по паблик-АПИ не пробовал? скрытый текст я вот писал для хита, лови пример скрытый текст Выделить код Код:var pair1 = 'ETHTUSD'; var pair2 = 'BTCTUSD'; var pair3 = 'ETHBTC'; var url_pair1 = 'https://api.hitbtc.com/api/2/public/ticker/'+pair1+''; var url_pair2 = 'https://api.hitbtc.com/api/2/public/ticker/'+pair2+''; var url_pair3 = 'https://api.hitbtc.com/api/2/public/ticker/'+pair3+''; function kotirovki_pair1() { var text_pair1 = get(url_pair1); // alert(text_pair1); var a = JSON.parse(text_pair1); asks_pair1 = +a.ask; bids_pair1 = +a.bid; }; //////////////////////////////////////////////////////////////////////////////////////////// function get(url_pair1) { //функция get запроса на hitbtc var req = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); req.open('GET', url_pair1 , false); req.send(); return req.responseText }; код публикуется с тегах code под спойлером InfSub |
udalov > 19-11-2018 07:46:38 |
Komsomoletz пишет
Кликаете на пустом месте страницы сайта (либо на интересующем элементе страницы) правой кнопкой мыши, в выпадающем меню выбираете пункт "исследовать элемент", появится панель с разными вкладками и кнопками. Внимательно см0трите, выбираете стрелочку, пот0м нажимаете на интересующий вас объект на сайте. В поле с кодом страницы появятся вот такие элементы <div class= , это и будут теги интересующего вас элемента страницы. Найденные теги подставляются в код скрипта. Для поиска тегов можно использовать дополнение FireBug. |
artemfedor > 29-11-2018 23:08:54 |
Подскажите - как в селекторе по типу скрытый текст прописать *, где * - изменяющееся значение? |
InfSub > 29-11-2018 23:26:10 |
artemfedor |
artemfedor > 29-11-2018 23:54:33 |
Спасибо за намек, будем пробовать. |
Infocatcher > 30-11-2018 17:22:49 |
InfSub пишет
Там же нечто, смахивающее на CSS селектор: a[class*='text'] или a[class^='text'] |
InfSub > 30-11-2018 19:47:13 |
Infocatcher |
Komsomoletz > 01-12-2018 00:46:57 |
Здравствуйте! Подскажите как создать условие, если страница не перезагрузилась за 60 сек и не обновилась (например интернет отключился или связь потеряна и происходит постоянная загрузка, но страница так и не обновляется и все данные на странице те же что и были), то выполняем другую команду, например continue? Поиск нужного элемента на странице не подходит потому что все нужные элементы на странице есть, но что с них толку, если это старые элементы. Страница-то не перезагрузилась и все элементы присутствуют. Но они не нужны. Нужны точно такие же но новые. А новых нет и не может быть пока страница не перезагрузится. А она и не перезагрузится, потому что соединения с сайтом нет (интернет есть, а с конкретным сайтом коннекта в определенный момент нет). |
karginaolga > 01-12-2018 20:36:29 |
Всем здравости. Помогите вытащить данные из localStorage. |
InfSub > 02-12-2018 19:30:22 |
Komsomoletz |
Komsomoletz > 06-12-2018 14:19:14 |
А что, с сегодняшнего дня на сайте загрузки аймакроса для фаерфокса уже нет старых версий для загрузки? Всё уже? Прикрыли лавочку? А подскажите где можно старые версии скачать? Может есть архив какой (по аналогии с ФФ)? В частности интересует 8.6.0.1 и 8.9.7 |
InfSub > 06-12-2018 17:27:57 |
Komsomoletz скрытый текст |
Komsomoletz > 07-12-2018 12:48:46 |
InfSub пишет
спасибо за подсказку, но там нету нужной версии аймакроса. Самая "низкая" там, это 8.8.2 |
PRESIDENT > 07-12-2018 13:56:39 |
Komsomoletz Вот нашёл в закромах. |
Komsomoletz > 07-12-2018 14:42:51 |
PRESIDENT пишет
Спасибо большое! А может есть для Мозиллы 6.0? А то 3.6 хоть и хорошая версия мозиллы, но не открывает некоторые современные сайты. Я тут методом перебора установил что самая-самая версия на сегодняшний день которая годится для работы с современными сайтами это мозилла 6.0. Ниже нельзя, а выше - не целесообразно. Но проблема на неё найти аймакрос и блокировщик рекламы адблок тоже не найти. Подчистили и там уже. |
PRESIDENT > 07-12-2018 16:06:19 |
Распакуй тот архив и зайди .\Data\profile\extensions |
googlenoob > 07-12-2018 17:57:18 |
У меня последнее время стала подвисать MozillaFireFox 38.0.1/iMacros 8.9.2.1. Что можно сделать? |
Komsomoletz > 09-12-2018 00:15:59 |
udalov пишет
А что, уже и это дополнение убрали? Уже вообще что ли всё подчистили что только можно было? скрытый текст |
Komsomoletz > 09-12-2018 02:35:55 |
Подскажите пожалуйста как исправить код скрытый текст Выделить код Код:iimPlay('CODE:SET !DATASOURCE login.txt\nSET !DATASOURCE_LINE '+i+'\nSET !EXTRACT {{!COL1}}'); login=iimGetLastExtract(); iimPlay('CODE:TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=* CONTENT="'+login+'"'); на аймакросе 7.3.0.0 (и 6-й мозилле) не хочет вставлять логин в нужное поле ввода. Главное этот же самый код прекрасно работает с аймакросом 8.8.2.1 (и выше). Понятно что ранние версии аймакросов не рассчитаны на современные коды, для них надо кое что изменять. Подскажите что в данном коде поменять, чтоб вставлялся логин из файла? Может это поменять? SET !DATASOURCE_LINE |
PRESIDENT > 09-12-2018 03:01:39 |
скрытый текст Выделить код Код:iimPlay("CODE:CMDLINE !DATASOURCE login.txt\nSET !DATASOURCE_COLUMNS 2\nSET !LOOP 1\nSET !EXTRACT {{!COL1}}"); a=iimGetLastExtract(); alert(a) |
Komsomoletz > 09-12-2018 03:25:34 |
PRESIDENT Спасибо большое!!! Получилось!!! скрытый текст Выделить код Код:iimPlay('CODE:SET !DATASOURCE login.txt\nSET !DATASOURCE_COLUMNS 1\nSET !LOOP '+i+'\nSET !EXTRACT {{!COL1}}'); Всё работает! |
Dima10000 > 09-12-2018 14:53:48 |
Здравствуйте. Как сохранить страницу макросом? Ниже код не сохраняет,либо тхт,либо скриншот.Мне нужно капчу в папку сохранить. скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX SET !ERRORIGNORE YES SET !ERRORCONTINUE YES SET !EXTRACT_TEST_POPUP NO TAB T=1 URL GOTO=https://sait.ru REFRESH WAIT SECONDS=30 SAVEAS TYPE=IMG FOLDER=C:\1 FILE=* WAIT SECONDS=7 любой код публикуется в тегах code под спойлером В TYPE=HTM ссылки на картинку капчи .gif даже нет скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки на сторонние ресурсы публикуются в тегах noindex под спойлером Из папки cache тоже достать не удаётся. Есть расширения отдельные для мазилы,сохранять картинки,но хочется макросом. замечание InfSub |
InfSub > 09-12-2018 15:36:08 |
Dima10000 09-12-2018 15:36:55 |
Dima10000 > 09-12-2018 16:43:10 |
InfSub,тема интересная,65 страниц,и в основном программы по разгадыванию капчи.Даже не думал,что не смогу просто её сохранить. |
InfSub > 10-12-2018 02:54:48 |
Dima10000 |
Dima10000 > 10-12-2018 09:55:00 |
Не запускается даже.Там всё закомментировано ',зелёным цветом: скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX 'если ошибка ,то пропустить SET !ERRORIGNORE YES SET !ERRORCONTINUE YES SET !EXTRACT_TEST_POPUP NO TAB T=1 URL GOTO=https://moskva.beeline.ru/customers/products/mobile/services/details/otpravka-sms/ REFRESH WAIT SECONDS=30 if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=script ATTR=src:*recaptcha*')>0){ f1='FRAME NAME=undefined\n'; iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm'); f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n'; iimPlayCode('ONDOWNLOAD FOLDER=C:\\CapNum\\ FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); } В интернете прочитал,что скриншот страницы делают и обрезают.Но лучше если макрос сразу капчу сохранит. |
InfSub > 10-12-2018 10:21:19 |
Dima10000 пишет
это что? идем и читаем FAQ ... |
Dima10000 > 10-12-2018 14:08:47 |
Вот, нашёл решение,если кому нужно будет: 1.Загружаем страницу |
PRESIDENT > 10-12-2018 14:45:31 |
Dima10000 пишет
Нужно делать скрин элемента, а не всей страницы. |
Dima10000 > 13-12-2018 18:46:06 |
Скрин элемента в инете не нашёл. |
InfSub > 14-12-2018 00:40:06 |
Dima10000 пишет
так в процитированном вами коде, в последней строке... EVENT:SAVE_ELEMENT_SCREENSHOT |
Komsomoletz > 30-12-2018 18:20:53 |
Подскажите как записать цикл в цикле с бесконечным повторением первого цикла по кругу? Имеем прокси адреса в количестве 30 штук. Их каждый раз по очереди перебираем по порядку в списке. Одновременно с этим выполняется другой цикл входа в аккаунт. Аккаунтов имеет 1000. Как сделать так, чтоб например ява-скрипт работал в цикле 1000 раз, при этом каждый раз менялся бы прокси, но поскольку аккаунтов 1000, а прокси всего 30, то надо как-то зациклить эти 30 прокси навечно. То есть, чтоб 1000 аккаунтов работало с 30 прокси. Как это записать можно? скрытый текст как к нему ещё добавить другой цикл из 30, чтоб эти 30 постоянно повторялись как только дойдут до конца списка? |
PRESIDENT > 30-12-2018 19:25:21 |
Да просто счётчик сделай и с каждым новым циклом увеличивай на +1. скрытый текст Выделить код Код:proxy_number = 1; for(i=1; i<1000; i++) { // тут исполняемый код скрипта proxy_number ++; if (proxy_number >30) proxy_number = 1; } |
Komsomoletz > 31-12-2018 11:57:19 |
PRESIDENT |
InfSub > 06-01-2019 03:58:03 |
Komsomoletz |
Shejker > 07-01-2019 15:42:05 |
Такая задача, нужно устанавливать юзерагенты из файла не рандомно, а по очереди, киньте кто-то код пожалуйста |
Алим > 07-01-2019 18:27:12 |
Всем привет. Не могу понять, почему условие не работает как надо? Извлекаются ники на сайте и через метод поиска match() отбираю только буквы, так как в никах приписаны различные не понятные сиволы. Через гет запрос из локального html документа берёт ник скрытый текст Выделить код Код:var ник = "((macs))" var ник = ник.match(/[aA-zZ]+/) var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var b=XMLHttpRequest(); b.open('GET','file:///C:\\папка\\proffilya.html',false); b.send(''); var txt = b.responseText; // Чтобы не создавать файл, прописал ник в переменной для удобства (тоже самое) var txt = "macs" alert(ник) alert(txt.match(ник)) if(txt.match(ник) == ник){ alert("ники совпали") }else{ alert("ники не совпали") } |
karginaolga > 07-01-2019 18:59:17 |
Алим скрытый текст Выделить код Код:var a = "macs"; var ник = a.match(/[aA-zZ]+/); if(ник == a) { alert("ники совпали"); } else { alert("ники не совпали"); } |
Алим > 07-01-2019 19:26:24 |
karginaolga скрытый текст Выделить код Код:var ник = "((macs))" var ник = ник.match(/[aA-zZ]+/) var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var b=XMLHttpRequest(); b.open('GET','file:///C:\\папка\\proffilya.html',false); b.send(''); var txt = b.responseText; alert(ник) alert(txt.match(ник)) if(txt.match(ник) == ник.toString()){ alert("ники совпали") }else{ alert("ники не совпали") } |
Squatter > 07-01-2019 19:54:55 |
Алим пишет
Просто экранируйте спецсимволы в извлекаемом перед сравнением и не надо будет городить огород. Универсальный реплейс для спецсимволов .replace(/[.*+?^${}()|[\]\\]/g, '\\$&');Пример Выделить код Код:var userTxt = "Текст из локального файла"; var nodes = content.document.querySelectorAll("t");//Ищем на странице proffilya.html "<t>macs</t>" for (let i of nodes) { var pattern = i.textContent.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');//Экранируем спецсимволы в паттерне if (userTxt.search(new RegExp('^'+pattern+'$', 'mg')) !== -1) continue;//Сравниваем с содержимым локального файла userTxt += i.textContent + '\r\n';//Добавляем уникальный ник к остальным в переменную userTxt } |
InfSub > 07-01-2019 20:06:38 |
Shejker |
Shejker > 08-01-2019 22:57:18 |
понадобилось через imacros подключать прокси и раньше пользовался дополнением Proxy Authentication, но сейчас оно уже я так понял не поддерживается, какой есть аналог для авторизации проксей? |
InfSub > 09-01-2019 03:32:40 |
Shejker |
dim222 > 09-01-2019 04:49:09 |
Shejker пишет
Этот хоть и для "seamonkey", но ставиться без проблем и на FF. Попробуй |
Dima10000 > 09-01-2019 15:43:29 |
Здравствуйте. Вопрос не по теме,которая идёт. |
InfSub > 09-01-2019 15:52:51 |
Dima10000 |
Dima10000 > 09-01-2019 16:23:11 |
Так пробую, не получается: скрытый текст любой код публикуется в тегах code под спойлером InfSub |
Shejker > 09-01-2019 20:33:55 |
InfSub пишет
нет Firefox Quantum, |
InfSub > 10-01-2019 04:10:48 |
Shejker 10-01-2019 04:13:22 |
17919 > 17-01-2019 13:45:31 |
InfSub пишет
скрытый текст Выделить код Код:Tag waiting... 2.5(6)s 1 VERSION BUILD=10021450 2 URL GOTO=http://spb2.billing.interrao.ru:7777/ouafSPB2/cis.jsp?location=itemMaint&ITEM_ID=0783321851 3 FRAME F=8 4 TAG POS=1 TYPE=IMG ATTR=ID:IM_ITC:7$charGrid_addBtn 5 TAG POS=1 TYPE=DIV ATTR=ID:imacros-highlight-div 6 REFRESH 7 TAG POS=1 TYPE=IMG ATTR=ID:IM_ITC:7$charGrid_addBtn 8 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:7$EFFDT CONTENT=14.01.2019c 9 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:11$EFFDT CONTENT=14.01.2019v 10 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:10$EFFDT CONTENT=14.01.2019v 11 REFRESH 12 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:10$EFFDT CONTENT=14.01.2019v 13 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:4$CHAR_TYPE_CD CONTENT=PL-STATEc 14 REFRESH 15 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:11$CHAR_TYPE_CD CONTENT=PL-STATE 16 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:5$CHAR_TYPE_CD CONTENT=PL-PLACEc 17 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:10$CHAR_TYPE_CD CONTENT=PL-PLACE 18 TAG POS=1 TYPE=DIV ATTR=ID:dataDivision 19 REFRESH 20 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:4$CHAR_VAL CONTENT=PL-STATE-2c 21 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:11$CHAR_VAL CONTENT=PL-STATE-2 22 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:5$CHAR_VAL CONTENT=PL-PLACE-0c 23 TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ITC:10$CHAR_VAL CONTENT=PL-PLACE-0 24 TAG POS=1 TYPE=DIV ATTR=ID:dataDivision 25 REFRESH 26 FRAME F=1 27 TAG POS=2 TYPE=SPAN ATTR=TXT:Сохранить сделал |
Denisovich > 17-01-2019 14:47:58 |
Здравствуйте! Помогите пожалуйста как убрать лишнее в фразе Никому не говорите этот код! Код для завершения регистрации ЛК: 1584 Другими словами, надо чтоб только число сохранилось в буфер обмена, а остальная часть (буквы, знаки) удалилось. Это наверно проще всего использовать некую команду чтоб только на числа, или чтоб все буквы и знаки удалила и всё прочее тоже, а числа оставила. Подскажите пожалуйста что тут использовать лучше всего? |
PRESIDENT > 17-01-2019 19:35:32 |
Denisovich match(/\d+/) |
InfSub > 17-01-2019 20:12:26 |
Denisovich скрытый текст Выделить код Код:URL GOTO=javascript:('{{!EXTRACT}}'.match(/\d+/)) SET !EXTRACT NULL TAG POS=1 TYPE=BODY ATTR=TXT:* EXTRACT=TXT |
Denisovich > 17-01-2019 20:31:00 |
PRESIDENT скрытый текст Выделить код Код:TAG POS=1 TYPE=P ATTR=TXT:Никому<SP>не<SP>говорите<SP>этот<SP>код!<SP>Код<SP>для<SP>за* EXTRACT=TXT SET !var1 EVAL ("'{{!EXTRACT}}'.match(/d+/)") TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:second ATTR=NAME:code CONTENT={{!var1}} вроде бы правильно, но нет: оно в результате вставляет в нужное поле слово undefined |
InfSub > 17-01-2019 20:32:41 |
17919 пишет
сразу говорю,сносите это убожество, ставьте версию 8.9.7 iMacros на FF 30-40 Portable приведите к примеру код второго скрипта, когда вы делаете "действие 2" опишите подробнее, вообще саму ситуацию, у вас всего 2 "действия" или их много? |
Denisovich > 17-01-2019 20:33:21 |
InfSub 17-01-2019 20:40:34 скрытый текст Выделить код Код:TAG POS=1 TYPE=P ATTR=TXT:Никому<SP>не<SP>говорите<SP>этот<SP>код!<SP>Код<SP>для<SP>за* EXTRACT=TXT SET !var1 EVAL ("'{{!EXTRACT}}'.match(/d+/)") TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:second ATTR=NAME:code CONTENT={{!var1}} или тут без URL GOTO=javascript: всё равно не обойтись? |
InfSub > 17-01-2019 20:41:02 |
Denisovich 17-01-2019 20:42:10 Denisovich пишет
это я не глядя скопировал у president |
Denisovich > 17-01-2019 20:50:36 |
InfSub пишет
Спасибо! Помогло. Президент видать обратный слеш упустил из виду, а так бы всё сразу изначально работало бы как надо. Ну всё равно спасибо и Президенту тоже! Теперь разобрались, всё в порядке, всё работает как надо! |
Рауф > 25-01-2019 21:36:34 |
Доброго времени суток. Ни как не могу сообразить как сделать прокрутки всплывающих окон на подобии команды скрытый текст Выделить код Код:URL GOTO="javascript:window.scrollTo(0,(content.document.documentElement.scrollHeight)); void(0);" или URL GOTO=javascript:window.scrollBy(0,5000) код публикуется в тегах code под спойлером Не прокручиваются всплывающие окна, вместо этого прокурчивается вниз основное окно. Понимаю что не хватает банально какого то слова, но не нашел в выдачах прокрутки на JS ничего что бы можно было подставить. скрытый текст нарушение правил размещения скриншотов в теме не прокручивается всплывающее окно в инстаграмме. Выделение окна клики нажатия не помогают InfSub |
InfSub > 25-01-2019 22:21:08 |
Рауф пишет
не пользуюсь, не в курсе, что там за код у страницы, скорее всего это какой-нибудь iframe скрытый текст Выделить код Код:var myIframe = window.document.getElementById('iframe'); myIframe.onload = function () { myIframe.contentWindow.scrollTo(xcoord,ycoord); }; |
Рауф > 26-01-2019 16:07:42 |
InfSub InfSub |
Рауф > 27-01-2019 09:32:34 |
InfSub пишет
скрытый текст А если там нет Id и как в строку в iim вписать по имещимся данным? Извини что достаю, катастрофически не хвататет времени даже 5и минут нет чтоб всопмнить как писать на js скрипт, хочу сделать что-то вроде Массфолловинг пока простенький без на iim без js если будет работать уже модернизирвать. Уперся именно в эту проблему с прокруткой |
Алим > 27-01-2019 23:41:53 |
Приветствую. скрытый текст |
InfSub > 28-01-2019 01:47:22 |
Рауф 28-01-2019 01:53:38 Рауф пишет
ну так запишите действия в режиме experimental event mode, криво - но работать скорее всего будет 28-01-2019 02:05:53 по сути вопроса: скрытый текст Выделить код Код:var a = ['Ниже','Выше'], i; for(i = 0; i < 10; i++){ if(i % 2){ alert(a[1]+','+a[0]); }else{ alert(a[0]+','+a[1]); }; }; |
Алим > 28-01-2019 13:32:06 |
InfSub Век живи - век учись, как говориться. |
Рауф > 29-01-2019 05:05:05 |
InfSub пишет
Нет к сожалению через эксперементал моде не работает, а можно в iim записать через EVAL в одну строку прокрутку вниз чтоб не создавать js файл? |
InfSub > 29-01-2019 18:35:54 |
Рауф |
Denisovich > 04-02-2019 01:53:16 |
Приветствую! Подскажите как можно указать путь к файлу, если имя не полное? Например: сам файл имеет такое название 238604-kaersente .json Тут вот у меня часть кода, которая нормально работает с полным названием файла (с числом, тире и пробелом в конце). А надо сделать так, чтоб без номера (который вставляется в переменную '+i+'), без тире и без пробела, а только с переменной '+login+' чтоб работал, а остальное игнорировал. скрытый текст Просто заменять звёздочкой * не получается. |
InfSub > 04-02-2019 09:55:10 |
Denisovich |
Squatter > 04-02-2019 10:42:10 |
Denisovich скрытый текст Выделить код Код:function OpenPath(localLink) { var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(localLink); var entries = file.directoryEntries; var arrFileName = []; while(entries.hasMoreElements()) { var entry = entries.getNext(); entry.QueryInterface(Components.interfaces.nsIFile); arrFileName.push(entry.leafName); } return arrFileName; } //При вызове передаём локальную ссылку на каталог window.console.log(OpenPath("C:\\Users")); 2. Фильтруем массив на наличие паттерна из переменной "login" любым из удобных способов 3. Берём полное имя из отфильтрованного результата и подставляем в конечную ссылку P.S. Можно в первом же действии в функции дописать условие выбора в зависимости от имени файла и его расширения if(entry.leafName.match(/*Паттерн*/)) return entry.leafName; |
InfSub > 04-02-2019 11:23:14 |
Squatter |
Squatter > 04-02-2019 11:32:29 |
InfSub Если имя "kaersente" уникальное и оно разное у каждого файла, то всё ещё проще. Достаточно составить регулярку учитывающую, и цифровую, и буквенную часть. И никаких непредсказуемых результатов, если с головой подходить к решению вопроса. |
InfSub > 04-02-2019 11:36:29 |
Squatter пишет
|
Denisovich > 04-02-2019 11:55:37 |
InfSub пишет
Не, не так. Дело вот в чом: имеется папка в которой содержатся файлы с расширением json. Их довольно много (несколько тысяч). И они имеют имена такого вида: сначала число 3-6 значное, потом тире, потом ник (логин, имя), и перед точкой пробел. То есть такой вид: Вот собственно и всё, что требуется. |
InfSub > 04-02-2019 12:00:42 |
Denisovich |
Denisovich > 04-02-2019 12:11:43 |
InfSub InfSub пишет
а при том, что это именно макросом я создавал все эти файлы с такими именами. А теперь вот надо переименовать. Так чем ещё переименовывать, если и создавалось именно этим самым? PS кстати, а на счёт переименования всех файлов сразу, по шаблону в Тотал Командоре, это мысль! Спасибо за идею. Погуглю как это вообще такое возможно, потом тут отпишусь. |
InfSub > 04-02-2019 12:53:54 |
Denisovich пишет
а вы когда вордом файлы создаете, вы тоже их из ворда переименовываете? Denisovich пишет
да... ну если использовать тотал только для перемещения по директориям... no comments... Denisovich пишет
я сейчас рыдать буду... Squatter 04-02-2019 12:55:18 Denisovich пишет
в TCMD хоткей Ctrl+M скрытый текст |
Сантехник > 09-02-2019 10:53:18 |
InfSub скрин |
InfSub > 09-02-2019 12:13:23 |
Сантехник |
karginaolga > 09-02-2019 12:28:42 |
Сантехник скрытый текст если запрещать alert нужно не везде то можно сделать проверку: скрытый текст Выделить код Код:window.___alert = window.alert; window.alert = function(msg){ if( (msg+'').indexOf( 'Волшебное слово' ) < 0 ) ___alert(msg); return false } alert('Матерное слово') alert('Волшебное слово') alert('Литературное слово') |
InfSub > 09-02-2019 12:45:31 |
karginaolga |
karginaolga > 09-02-2019 13:44:24 |
InfSub скрытый текст Выделить код Код:window.___alert = window.prompt; window.prompt = function(msg){ if( (msg+'').indexOf( 'Волшебное слово' ) < 0 ) ___alert(msg); return false } prompt('Матерное слово') prompt('Волшебное слово') prompt('Литературное слово') |
bop101 > 09-02-2019 14:14:34 |
help скрытый текст может есть у кого код при появлении капчи от гугл скрипт останавливался, желательно на .iim |
InfSub > 09-02-2019 15:19:23 |
bop101 bop101 пишет
а как вы себе представляете логику на iim скрипте? bop101 пишет
простите, а для чего вопрос в спойлере? для таинственности? |
InfSub > 19-02-2019 06:13:52 |
есть кнопка: скрытый текст Выделить код Код:<input class="btn btn-index form-submit ajax-processed" onclick="open_self()" id="edit-submit" name="op" value="Поиск" type="submit"> но срабатывает она по хитрому, даже при правом клике мышью, судя по всему за счет функции open_self() пробую на нее кликнуть: скрытый текст реакции ноль есть идеи как на нее нажать? 19-02-2019 06:30:54 |
Odessaman > 21-02-2019 14:12:10 |
Привет форумчане! Есть вопрос, творческий. Связан с батниками. Как можно создать что-то типа виртуального батника? Кратко по сути: скачиваю видео которое просто так не качается, оно кусками идёт (пакетами) с расширением .ts И чтобы его скачать есть программа, которая работает через командную строку. Для упрощания создал батник, чтоб каждый раз не вызывать командную строку и вписывать туда команду. Но! скачиваемое видео всегда сохраняется с одним и тем же названием. И пока название скачанного файла не поменять, программа не сможет скачивать другие видео, будет выдавать запрос типа файл с таким названием уже существует, удалить, да. нет... Так вот, надо сделать так, чтоб команда в батнике менялась, точнее менялось бы название скачиваемого файла на рандомное, желательно на текущее время (мин, сек). скрытый текст Выделить код Код:CMD /K ffmpeg -i "https://iphone.c-spanvideo.org/m3u8/program.299365.MP4.M20.m3u8" -c copy video.ts там в конце написано video.ts Это и есть название которое присваивается сохраняемому видеофайлу. Так вот надо сделать так, чтоб это название всякий разменялось, то есть было уникальным. Тогда не будет перезаписываться новое сохраняемое видео вместо уже сохраненного с таким же именем. Подскажите пожалуйста, что можно придумать в этой ситуации? Может можно ещё проще сделать всё и не замарачиваться батниками, а прямо из js скрипта чтоб подавалась непосредственна нужная команда, в которой имя для файла всегда бы выдавалось новое уникальное? |
InfSub > 21-02-2019 15:18:24 |
Odessaman |
Odessaman > 21-02-2019 15:22:56 |
InfSub |
InfSub > 21-02-2019 15:27:02 |
Odessaman если вы не помните, то кроме этого спросили, как можно обойтись без батника, я вам ответил |