>Форум 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 если вы не помните, то кроме этого спросили, как можно обойтись без батника, я вам ответил |
Odessaman > 21-02-2019 16:43:54 |
InfSub |
InfSub > 21-02-2019 16:51:38 |
Odessaman 21-02-2019 16:54:20 Odessaman пишет
RTFM по js функции Date() |
karginaolga > 21-02-2019 16:59:24 |
Odessaman скрытый текст Выделить код Код:var file = getFormattedDate(new Date())+'.ts'; alert(file); function getFormattedDate(today) { var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); var hour = today.getHours(); var minu = today.getMinutes(); if(dd<10) { dd='0'+dd; } if(mm<10) { mm='0'+mm; } if(minu<10){ minu='0'+minu; } return dd+'-'+mm+'-'+yyyy+'-'+hour+'-'+minu; } |
Odessaman > 21-02-2019 16:59:48 |
Odessaman пишет
наверно могу, только пока не знаю как. Если вы подскажите (код или ссылку на наглядный пример скрипта, кода), то тогда точно смогу. А иначе, еслиб я всё сразу знал и мог, то тогда зачем бы мне вообще было обращаться за помощью на этот форум. 21-02-2019 17:01:11 |
InfSub > 21-02-2019 17:25:05 |
Odessaman |
udalov > 01-03-2019 18:46:14 |
Здравствуйте. |
InfSub > 01-03-2019 19:23:54 |
udalov поиск первого совпадения Выделить код Код:var text="Подскажите, пожалуйста, как можно средствами js найти определённый текст или тег\\элемент страницы в переменной"; alert(/определён(?:н)?ый [а-я]+/i.exec(text)); 01-03-2019 19:34:17 вариант с перебором всех совпадений регулярному выражению Выделить код Код:var res, regexp=/определён(?:н)?ый [а-я]+/gi, str="Подскажите, пожалуйста, как можно средствами js найти определёный текст или тег\\элемент страницы в переменной? Допустим, я получаю в переменную через extraсt текст со страницы сайта и в этой переменной мне нужно найти определённый текст. "; while(res=regexp.exec(str)){ alert(res); }; |
udalov > 02-03-2019 06:44:02 |
InfSub, спасибо, то, что нужно было! |
udalov > 13-03-2019 11:15:48 |
Здравствуйте. скрытый текст все профили открыты для написания сообщений в ЛС. Из 10 циклов нормально сообщения отправились только 2 раза, 1 раз отправилось половина нужного текста, в остальных случаях ничего не отправилось, только подсвеченные кнопки, что оно нажималось. В чём может быть проблема? Санкции со стороны соцсети не наблюдаются. Все неоходимые элементы страницы загружаются. Переделать скрипт на js? Файлы с данными сделать в csv? FF 46.0.1, iMacros 8.9.7. |
InfSub > 15-03-2019 00:15:53 |
udalov |
Odesaman > 15-03-2019 23:08:05 |
PRESIDENT Спасибо за помощь в теме про капчи! скрытый текст Выделить код Код:var iP=iimPlayCode, iD=iimDisplay, f1='FRAME NAME=undefined\n', t0='SET !TIMEOUT_STEP 0\n', t1='SET !TIMEOUT_STEP 1\n'; iP('ONDOWNLOAD FOLDER=C:\\CAPCHA FILE=captcha.jpg \n TAG POS=1 TYPE=IMG ATTR=SRC:data:image/png* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iP('TAB OPEN\nTAB T=2'); iP('URL GOTO=file:///C:/index.html'); iP('TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://127.0.0.1/in.php ATTR=NAME:file CONTENT=C:\\CAPCHA\\captcha.jpg'); iP('TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://127.0.0.1/in.php ATTR=*'); iP('WAIT SECONDS=0'); iP('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); a=iimGetLastExtract().replace('OK|',''); iP('URL GOTO=http://127.0.0.1/res.php?action=get&id='+a); iP('WAIT SECONDS=0'); iP('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); b=iimGetLastExtract().replace('OK|',''); otvet = "10*3="; alert(eval(otvet.replace(/=/g,'').replace(/X/,'+').replace(/x/,'+').replace(/\*/,'+'))); iP('TAB CLOSE'); iP('TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=NAME:captcha_solution CONTENT='+otvet); там в вашем коде (который из двух строчек с алертом) есть такое "10*3=" это результат выдаваемый демо-версией проги. Понятно, что вместо этих чисел надо записать переменную, и в данном случае это b. Подскажите пожалуйста как надо правильно записать? А то уже несколько часов голову ломаю над казалось бы элементарным вопросом (для опытных программистов, конечно)) ). А то пробую и так и этак, разные варианты, да что-то не получается. |
PRESIDENT > 15-03-2019 23:41:35 |
Как то так Выделить код Код:iP('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); otvet = eval(iimGetLastExtract().replace('OK|','').replace(/=/g,'').replace(/X/,'+').replace(/x/,'+').replace(/\*/,'+')); |
Odesaman > 15-03-2019 23:48:56 |
PRESIDENT Спасибо огромное!!! Теперь всё как надо. Премного благодарен!!! |
karginaolga > 16-03-2019 11:38:05 |
0desamann скрытый текст Выделить код Код:var text = "8+7"; if (/^[+-\\*\d]+$/.test(text)) { alert('eval возможен'); } else alert('нету арифметики'); |
in2fire > 16-03-2019 12:35:42 |
Если есть несколько элементов с одинаковыми классами, как мне перемещаться от первого найденного к следующему с таким же классом? |
InfSub > 16-03-2019 16:05:40 |
in2fire |
Алим > 18-03-2019 13:12:47 |
Здравствуйте. логин;пароль Нужно сохранить текст например на 2 строчке в документе аккаунты.csv в третьем столбике рядом с логин;пароль. Чтобы было так скрытый текст Выделить код Код:iimPlayCode('SET !ERRORIGNORE YES\n'+ 'SET !DATASOURCE_DELIMITER ;\nCMDLINE !DATASOURCE аккаунты.csv\n'+ 'SET !DATASOURCE_LINE 2\n'+ 'SET !DATASOURCE_COLUMNS 3\n'+ 'SET !EXTRACT "Не смог войти в аккаунт. Логин или пароль не верные."\n'+ 'SAVEAS TYPE=EXTRACT FOLDER={{!FOLDER_DATASOURCE}} FILE=аккаунты.csv') |
InfSub > 18-03-2019 13:18:51 |
Алим 18-03-2019 13:20:29 |
dim222 > 18-03-2019 20:07:24 |
Алим пишет
Нафиг тебе этот .csv? |
InfSub > 18-03-2019 20:37:25 |
dim222 |
PRESIDENT > 18-03-2019 21:30:54 |
dim222 |
InfSub > 18-03-2019 23:35:08 |
PRESIDENT |
Алим > 19-03-2019 12:02:19 |
Для удобства пользователя. Когда скрипт определяет, что аккаунт не смог авторизоваться из-за того, что логин и пароль не верный или аккаунт заблокирован, то удобней, что бы было напротив логина и пароля информация об данном аккаунте, чтобы можно было сразу поменять пароль или разморозить аккаунт. Сейчас скрипт сохраняет в отдельном txt-документе, информацию об аккаунте с логином и паролем. Видимо пользователю легче и быстрее в одном файле работать. InfSub пишет
|
InfSub > 19-03-2019 12:13:09 |
Алим |
dim222 > 20-03-2019 18:06:11 |
Чот у себя в закромах не могу найти плагин авторизации прокси. |
Тёрн > 21-03-2019 10:36:27 |
Пытаюсь копаться в Imacros. 1) Скрипт случайно тыкается по сайтам, всё это зацикливается. В конце каждого проверяется время, если 10 часов, ждём до 11 и продолжаем, если другое - просто продолжаем. Вижу так: основной цикл на JavaScript, внутри iMacros с обходом, возврат в основнй цикл, проверка времени на js и ветвление от результата? 2) Как вносить названия сайтов из csv в GOTO URL= ? 3) Не понятно, как работает !LOOP, да и вообще зацикливание кода, без доп js кусков. Запускаю циклом на 3 раза (да и не циклом) - делает только 1 проход. скрытый текст Выделить код Код:SET !VAR2 1 SET !VAR3 2 SET !ERRORIGNORE YES 'Подключаем файл с нужными нам адресами SET !DATASOURCE 1.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{COL1}} SET !VAR1 EVAL("Math.floor(Math.random()*{{!VAR3}} + 1);") TAG POS={{!VAR1}} TYPE=A ATTR=TXT:* WAIT SECONDS={{!VAR2}} SET !VAR1 EVAL("Math.floor(Math.random()*{{!VAR3}} + 1);") TAG POS={{!VAR1}} TYPE=A ATTR=TXT:* WAIT SECONDS={{!VAR2}} URL GOTO=javascript:window.scrollBy(0,200) SET !VAR1 EVAL("Math.floor(Math.random()*{{!VAR3}} + 1);") TAG POS={{!VAR1}} TYPE=A ATTR=TXT:* WAIT SECONDS={{!VAR2}} При этом, пример с сайта iMacros проходит: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Даже если сделать SET !LOOP -3 в простой запуск, будет тогда 4 прохода. И поменять TAG POS={{!loop}} TYPE=A ATTR=HREF:http://*.jpg на TAG POS=1 TYPE=A ATTR=HREF:http://*.jpg (иначе я пока не понял, как прибавить для отрицательного !loop) Вообще, !LOOP может быть только один за весь код, да? 4)Вот этот же кусок не обрабатывает сайты с новостями, те же lenta.ru, если перейти на любую новость, правую колонку (и не только её) он не видит, при этом, верхную часть (где записано "Все, Наука, Космос, ...) и кнопку "Обсудить" видит и нажимает.
скрытый текст Выделить код Код:SET !VAR1 EVAL("Math.floor(Math.random()*{{!VAR3}} + 1);") TAG POS={{!VAR1}} TYPE=A ATTR=TXT:* WAIT SECONDS={{!VAR2}} Только если так: скрытый текст Тогда работает только для правой колонки. Открывает, в данном случае вторую новость. А как-то можно сделать, чтобы со всего сайта была выборка? |
InfSub > 21-03-2019 10:52:22 |
Тёрн пишет
да Тёрн пишет
column - столбец Тёрн пишет
http://wiki.imacros.net/!LOOP Тёрн пишет
изучить код сайта, его особенности |
Тёрн > 21-03-2019 18:12:17 |
InfSub пишет
О, вот это спасибо, не находил. А официальную документацию и кучу других сайтов я читал. InfSub пишет
Но случайная выборка со всего сайта, в принципе, возможна? |
InfSub > 21-03-2019 18:22:07 |
Тёрн с любого сайта возможна случайная выборка, главное понять принцип построения ссылок в вашем случае и их порядок |
in2fire > 23-03-2019 20:50:02 |
удалено, оффтопик п.п. 2.21 ссылки на сторонние ресурсы, не публикуются в открытом виде замечание InfSub |
mmmaks2004 > 28-03-2019 00:07:20 |
Подскажите! |
InfSub > 28-03-2019 06:45:18 |
mmmaks2004 |
karginaolga > 29-03-2019 17:25:59 |
Помогите добавить переменную в регулярку, так работает: скрытый текст Выделить код Код:var str = "https://forum.mozilla-russia.org/viewtopic.php?"; var reg = "forum.mozilla-russia"; if (RegExp('http(?:s)?:\/\/' + reg + '.[a-z]+','i').exec(str)) alert('ok'); а в таком варианте как? : скрытый текст Выделить код Код:var str = "https://forum.mozilla-russia.org/viewtopic.php?"; var reg = "forum.mozilla-russia"; var regexp = /http(?:s)?:\/\/' + reg + '.[a-z]+/i; if (regexp.exec(str)) alert('ok'); |
InfSub > 29-03-2019 18:48:04 |
karginaolga скрытый текст Выделить код Код:var str = "https://forum.mozilla-russia.org/viewtopic.php?"; var reg = "forum.mozilla-russia"; var regexp = 'http(?:s)?:\/\/' + reg + '.[a-z]+'; if (new RegExp(regexp,'i').exec(str)){alert('ok');}else{alert('-')}; |
Алим > 04-04-2019 12:07:42 |
Как извлечь значение из глобальных настроек мазилы по средством js? Где значение там прописывается путь. скрытый текст Выделить код Код:var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); iimPlayCode('URL GOTO=about:config') prefs.setCharPref("extensions.imacros.defsavepath",значение) C:\Users\Имя пользователя\Documents\iMacros\Macros Нашёл уже скрытый текст Выделить код Код:function show_obj(o){content.document.defaultView.wrappedJSObject.console.log(o)} function get_panel(){return window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);} var r0=get_panel().iMacros.currentMacro; alert(r0.name) // имя тек макроса/userJS alert(r0.path) //полный путь до него |
SH0N > 12-04-2019 09:43:04 |
Всем доброго времени суток! Не знаю поднимался ли такой вопрос, по крайней мере в поиске найти схожую тему не получилось. скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX SET !ERRORIGNORE YES SET !TIMEOUT_PAGE 20 SET !TIMEOUT_STEP 5 SET !DATASOURCE "list.txt" SET !DATASOURCE_LINE {{!LOOP}} SET !LOOP 1 TAB T=1 URL GOTO=https://www.site.ru/{{!COL1}}/ TAG POS=1 TYPE=BUTTON ATTR=TXT:Активировать WAIT SECONDS=30 |
InfSub > 12-04-2019 11:33:06 |
SH0N |
myscience > 17-04-2019 11:30:09 |
Друзья, помогите, пожалуйста подсказкой, какому селектору направить KEYPRESS KEY=34 для скроллинга списка лайкнувших пост в инстаграмме. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. не получается найти такое решение ссылки публикуются в тегах noindex под спойлером замечание InfSub |
Зачем_нужен_ник? > 20-04-2019 15:59:27 |
Можете помочь,что не так с этим кодом? скрытый текст Выделить код Код:var s= Math.floor(Math.random()*5); if (s= 0) { iimPlayCode(` URL GOTO=https://www.youtube.com `) } else if (s=2 ) { iimPlayCode(` URL GOTO=https://ok.ru `) } else if (s=3 ) { iimPlayCode(` URL GOTO=https://www.facebook.com `) } else if (s=1 ) { iimPlayCode(` URL GOTO=file:///C:/Users/11https: `) } else { iimPlayCode(` URL GOTO=https://www.instagram.com `) } код публикуется в тегах code под спойлером Imacros не хочет его выполнять. InfSub |
InfSub > 22-04-2019 02:30:13 |
Зачем_нужен_ник? |
Egorushka1974 > 22-04-2019 15:51:35 |
Зачем_нужен_ник? пишет
Вы присваиваете переменной s значение 2, таким образом вы отменяете |
Gergi > 01-05-2019 16:49:28 |
Всем привет скрытый текст Выделить код Код:<div style="outline: 1px solid blue;" class="f bl bm" id="mbasic_inline_feed_composer"><form method="post" action="/composer/mbasic/?av=100003629234513&eav=AfYlgC2O8XJXUd6o7SRYVa32jaLZeaWxXgajClPR2pUM19ZlKqMzXUUHaaxLP-Q7Z1Q&refid=8" class="bn" id="mbasic-composer-form"> Как мне вытащить только этот номер? 100003629234513 Тема закрыта,решил вопрос. код публикуется в тегах code под спойлером InfSub |
Gergi > 02-05-2019 14:30:25 |
Этот код считает сколько строк в txt файле,как сделать что бы он не считал пробелы? скрытый текст Выделить код Код:iimPlayCode('URL GOTO=file:///C:\\User.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); is=iimGetLastExtract().split('\n').length; alert(is) |
InfSub > 02-05-2019 16:36:52 |
Gergi скрытый текст |
Gergi > 03-05-2019 12:49:40 |
InfSubБлагодарю |
InfSub > 03-05-2019 12:54:33 |
Gergi |
Gergi > 03-05-2019 13:02:18 |
скрытый текст Выделить код Код:iimPlayCode('SET !DATASOURCE C:\\Txt.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); t1=iimGetExtract(); Вот код,если в файле нет пробелов работает |
InfSub > 03-05-2019 14:37:07 |
Gergi |
InfSub > 03-05-2019 16:03:55 |
Gergi |
saurbeck > 27-05-2019 10:31:28 |
Здравствуйте Господа! Скажите, есть ли возможность с помощью js-script менять отпечаток браузера? А то что-то в FAQ по по iMacros for Firefox ничего по теме не нашёл. |
InfSub > 27-05-2019 13:23:03 |
saurbeck |
Squatter > 27-05-2019 21:39:28 |
saurbeck, там не всё так просто, слепок осуществляется на уровне клиентского кода. C помощью методов canvas API делается скриншот любого блока с контентом или всей страницы целиком. Раньше был ажиотаж вокруг canvas API, теперь этих API с помощью которых можно сделать подобного рода отпечаток уже много. Посмотрите в аддоное CanvasBlocker перечислены основные API, с помощью которых могут собираться следы вашего сёрфинга. Однако банальное их отключение может помешать корректной работе нужных функций сайтов. Средствами JS и макроса решать такую большую и комплексную проблему громоздко, нецелесообразно и глупо. Лучше смотреть в сторону готовых аддонов или писать собственный. |
InfSub > 27-05-2019 23:14:05 |
Squatter |
saurbeck > 30-05-2019 12:48:17 |
Squatter скрытый текст Выделить код Код://====================================================================== /***-=Смена UserAgent=-***/ function randomInteger(min, max) { var rand = min - 1 + Math.random() * (max - min + 5) rand = Math.round(rand); return rand; } var frt=( randomInteger(2, 10) ); var urlAgent=['Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0','Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Debian/1.6-7','Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0 SeaMonkey/2.14.1',' Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)','Mozilla/5.0 (Linux; U; Android 2.2.1; en-ca; LG-P505R Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1','Mozilla/5.0 (Linux; U; Android 2.2.1; en-gb; HTC_DesireZ_A7272 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1','Mozilla/5.0 (X11; U; Linux armv61; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1','Mozilla/5.0 (Linux; U; Android 2.3.3; de-ch; HTC Desire Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1','Mozilla/5.0 (Linux; U; Android 2.3.3; ko-kr; LG-LU3000 Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1','Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; T-Mobile myTouch 3G Slide Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1','Mozilla/5.0 (Windows NT 6.1; rv:2.1.1) Gecko/20110415 Firefox/4.0.2pre Fennec/4.0.1','Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9.1b1pre) Gecko/20081005220218 Gecko/2008052201 Fennec/0.9pre','Mozilla/5.0 (Windows; U; Windows CE 5.2; en-US; rv:1.9.2a1pre) Gecko/20090210 Fennec/0.11','Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9.1a1pre) Gecko/2008071707 Fennec/0.5','Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9.1a2pre) Gecko/20080820121708 Fennec/0.7','Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9.1b1pre) Gecko/20080923171103 Fennec/0.8','Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9.1b1pre) Gecko/20081005220218 Gecko/2008052201 Fennec/0.9pre','Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1','Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1 ']; function UserAgent(){iimPlay("CODE:URL GOTO=about:config\n WAIT SECONDS=1"); var Cc=Components.classes, Ci=Components.interfaces; var prf=Cc['@mozilla.org/preferences-service;1'].getService(Ci.nsIPrefBranch); var str=Cc['@mozilla.org/supports-string;1'].createInstance(Ci.nsISupportsString); str.data=urlAgent[frt]; // Перюключение UserAgent prf.setComplexValue('general.useragent.override',Ci.nsISupportsString,str); } UserAgent(); //=================================================================== Или может быть более лучший вариант будет чтоб юзер-агенты из txt-файла брались и вставлялись? Подскажите как лучше? |
InfSub > 30-05-2019 13:28:33 |
saurbeck |
saurbeck > 30-05-2019 15:11:04 |
InfSub пишет
Верно, в массив. А массив в одну строку записан. |
saurbeck > 30-05-2019 15:44:31 |
Помогите разобраться в правильном написании рандомного выбора числа. А то тут тоже не всё так просто. Вот у меня в скрипте такой вариант: скрытый текст Выделить код Код:function randomInteger(min, max) { var rand = min - 1 + Math.random() * (max - min + 5) rand = Math.round(rand); return rand; } var frt=( randomInteger(2, 10) ); писал не я, нашёл в интернете. Насколько этот вариант будет показывать одинаковую вероятность для всех данных массива - неизвестно. В интернете нашёл статью где показаны три варианта: неправильный (но тоже рабочий), правильный и альтернативный (с floor). Так если выбрать этот вариант с floor и диапазон указать от 0 до 49, так верно будет? То есть всего юзер-агентов в массиве содержится 50. И поскольку в массиве отсчет начинается с нуля, то и указывать начало диапазона надо ноль, и в конце 49. Таким образом будут рандомно перебираться все юрег-агенты в количестве 50 штук. То есть вот так: скрытый текст Выделить код Код:function randomInteger(min, max) { var rand = min + Math.random() * (max + 1 - min); rand = Math.floor(rand); return rand; } var frt=( randomInteger(0, 49) ); Правильно или нет? Если что, поправьте пожалуйста. |
InfSub > 30-05-2019 15:58:08 |
saurbeck |
saurbeck > 30-05-2019 16:08:24 |
InfSub пишет
правильно ли будет записать так: var frt=( randomInteger(0, 49) ); чтоб задействовался весь диапазон от 1 до 50 из всего списка юзер-агентов коих всего 50 штук в массиве? 30-05-2019 16:11:54 InfSub пишет
а как посчитать самим js? это надо ещё какой-то дополнительный код добавить? или как посчитать? Подскажите пожалуйста. Мне не то чтобы ручками надёжнее или не надёжнее, просто я пока ещё не в курсе дела как это можно чтоб не править код посчитать самим js. PS думаю так оно даже и лучше будет, (чтоб не править код), поскольку количество юзер-агентов в массиве со временем будет меняться (какие-то добавлю, какие-то удалю) и чтоб каждый раз не корректировать ручками код, лучше конечно чтоб js сам это считал. |
InfSub > 30-05-2019 18:37:58 |
saurbeck пишет
нет не правильно, скобки круглые зачем? в плане диапазона - верно |
Азат55555 > 06-06-2019 12:51:03 |
У меня версия аймакроса 8.9.7 и браузера 56.0.2 лиса и на многих других версиях такая же проблема. Посмотрите видео! скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ссылки публикуются в тегах noindex под спойлером InfSub |
InfSub > 06-06-2019 12:58:48 |
Азат55555 пишет
8.9.7 не имеет полноценной совместимости с последними версиями FF, используйте более старую версию FF |
kolshix > 10-07-2019 00:50:10 |
Всем привет, давно не было меня , пользовался imacros для переноса картинок и монетизации - но некоторые сайты перестали отображать прогресс выполнения и вывода нужной мне информации - с чем связанно не знаю, но если ручками вбивать инфу, аяксом выдаются результаты на сайте (иногда от прокси иногда от сервера закономерности не отловить), если через imacros и много подгружать файлов на файлообменник - сайты стопорятся (с imacrosom все впорядке) - как отловить не знаю. остановился на WaterfoxPortable_56.2.11_English.paf и imacros 8.9.7 Интересуют связки пользователей "полный imacros" + "всеядный браузер" + "старые плагины". Проблема новых версий для меня, это отказ от любимых старых плагинов к которым привык и которые на 100% делают свою работу |
dim222 > 11-07-2019 16:07:35 |
kolshix |
googlenoob > 12-07-2019 08:54:24 |
У меня с флеш плейером проблемы на некоторых сайтах не выводится контент и пишет, обновите. Но какие бы обновления я не ставил не работает флеш. FireFox 38.0.1/iMacros 8.9.2.1 что делать? |
ondo > 12-07-2019 10:29:47 |
Всем привет, подскажите, а как "уловить" нажатие на кнопку (сердечко, нравится) на этой странице записываю макрос, показывает: воспроизвожу на другой странице, не лайкает |
InfSub > 12-07-2019 13:16:07 |
ondo |
Алим > 12-07-2019 18:26:50 |
Приветствую. "16000" Количество сумм могут быть разными и сами суммы тоже |
InfSub > 12-07-2019 19:37:12 |
Алим |
dim222 > 12-07-2019 20:00:50 |
Алим js |
Алим > 12-07-2019 21:00:23 |
Разобрался, спасибо скрытый текст |
Алим > 13-07-2019 12:11:09 |
InfSub да, затем я так и сделал. Удобней и быстрее. |
Алим > 16-07-2019 12:57:15 |
В массиве имею 1 элемент такого вида "30000,8889,10700,30000руб" скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. скрытый текст Выделить код Код:var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var b=XMLHttpRequest();b.open('GET',ссылка,false);b.send(''); var txt = b.responseText; var результат = txt.replace(/&\#160;|<td>| |,00|<span class="caption-subject bold">/g,'').match(/.*руб/g) var массив = [] массив.push(результат) alert(массив.join('\n').split('руб,')) var массив = массив.split(',') alert(массив[1]) |
PRESIDENT > 16-07-2019 16:08:51 |
попробуй так offtop Звиняюсь что не в тему, но может кто юзает и подскажет аддончик для авторизации проксей нужен для 49 и/или 55 ФФ отредактировано InfSub |
karginaolga > 16-07-2019 16:51:05 |
Алим скрытый текст и дальше можете работать с ним |
dim222 > 16-07-2019 16:58:55 |
PRESIDENT скрытый текст Попробуй "Proxy Authentication". >> Здесь << расширения. InfSub |
Алим > 19-07-2019 12:49:47 |
karginaolga благодарю, теперь буду знать. Ещё возник вопрос. В документе имеется одна строчка с переносом строки \n, пробывал и \\n и <br> Как сделать, чтобы вставлял с переносом строки? скрытый текст Выделить код Код:iimPlayCode('SET !ERRORIGNORE YES\n'+ 'SET !DATASOURCE_DELIMITER #\n'+ 'SET !DATASOURCE doc.txt\n'+ 'SET !DATASOURCE_LINE 1\n'+ 'SET !EXTRACT {{!COL1}}') var txt = iimGetExtract() content.document.getElementsByClassName('posting_itx')[0].textContent=txt |
InfSub > 19-07-2019 14:10:11 |
Алим |
Алим > 19-07-2019 15:35:50 |
InfSub Когда ссылка на сайт набирается по методу iim-event , появляется картинка от сайта, а когда идёт вставка методом js-dom, то не появляется. Можно ли решить это по средством js-dom или js ? js-dom iim-event |
InfSub > 19-07-2019 17:46:37 |
Алим 19-07-2019 17:48:35 |
saurbeck > 22-07-2019 22:34:20 |
Подскажите как лучше всего закрывать Мазилу js-скриптом? Есть минимум 2 способа: через создание батника и команду скрытый текст и другой способ это настроить в Мазиле закрытие браузера при закрытии последней вкладки. Так при помощи команды ТАВ CLOSE браузер будет закрыт. И вот тут возникает главный вопрос: какой способ лучше и почему? Интересуюсь не просто так, а потому что пользуясь способом taskkill, когда потом запускается браузер, то каждый раз появляется запрос типа закрыть или восстановить вкладки (окна). По всей видимости браузер запоминает что были окна (или окно) открыты и потом при запуске/перезапуске выдаёт запрос. Это как-то не очень хорошо. Так в общем и не понятно, какой способ закрытия браузера лучше? И почему? |
Squatter > 23-07-2019 00:15:41 |
Держите памятку Работа с вкладками Выделить код Код:var browserWin = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow); //Закрыть активную вкладку browserWin.getBrowser().removeCurrentTab(); //Закрыть активную вкладку this.window.close(); //Закрыть все вкладки слева, кроме закреплённых вкладок browserWin.gBrowser.visibleTabs.forEach((tab)=> !tab.pinned && tab._tPos < browserWin.gBrowser.mCurrentTab._tPos && browserWin.gBrowser.removeTab(tab)); //Закрыть все вкладки, кроме закреплённых вкладок [...browserWin.gBrowser.tabs].forEach((tab)=> !tab.pinned && browserWin.gBrowser.removeTab(tab)); //Закрыть все вкладки справа с подтверждением browserWin.gBrowser.removeTabsToTheEndFrom(browserWin.gBrowser.mCurrentTab); //Закрепить вкладку browserWin.gBrowser.pinTab(browserWin.gBrowser.mCurrentTab); //Закрепить вкладку, если откреплена и открепить вкладку если закреплена var currTab = browserWin.gBrowser.mCurrentTab; currTab.pinned ? browserWin.gBrowser.unpinTab(currTab) : browserWin.gBrowser.pinTab(currTab); Если открыто несколько вкладок или одна, то универсальнее будет Закрыть все вкладки Выделить код Код:var browserWin = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow); //Закрыть все вкладки [...browserWin.gBrowser.tabs].forEach((tab)=> browserWin.gBrowser.removeTab(tab)); Некоторые старые твики для вкладок about:config browser.tabs.animate (Логическое) - отвечает за анимацию панели вкладок (открытие\закрытие вкладок). Значения: TRUE - анимация включена FALSE - анимация выключена browser.tabs.warnOnClose (Логическое) - определяет: показывать или нет предупреждение о закрытии нескольких вкладок. browser.taskbar.previews.enable (Логическое) - Определяет: показывать ли вкладке в "супербаре" windows 7. browser.tabs.tabMaxWidth (Целое) - Максимальная ширина вкладок (в пикселях). browser.tabs.tabMinWidth (Целое) - Минимальная граница ширины вкладок (в пикселях), после которой появляется кнопка прокрутки вкладок. browser.tabs.tabClipWidth (Целое) - Ширина вкладки (в пикселях), начиная с которой пропадает крестик. browser.tabs.closeButtons (Целое) - Наличие кнопки "закрыть" на вкладках. Значения: browser.tabs.closeWindowWithLastTab (Логическое) - Определяет: закрывать ли браузер при закрытии последней вкладки. Значения: С taskkill видимо некорректное закрытие, поэтому браузер предлагает восстановить параметры последнего сеанса – всё что было открыто. Стандартная вещь. |
saurbeck > 23-07-2019 01:04:02 |
Спасибо за памятку по вкладкам! Полезная вещь! Squatter пишет
А из-за чего некорректное закрытие? У меня ведь так: js-скрипт отработал, запустил батник и остановился. При этом батник запустился, но браузер ещё 10 секунд просто отдыхает. И только после 10 секунд батник даёт команду taskkill которая закрывает браузер. Однако каждый раз как только по новой запускаю браузер (хоть вручную, хоть скриптом) всегда этот запрос на восстановление вкладок. |
Squatter > 23-07-2019 01:15:08 |
saurbeck чем вариант закрытия всех вкладок, а заодно и браузера, не устраивает? Вы понимаете, что taskkill вы в лоб завершаете процесс, а не корректно закрываете браузер? Попробуйте вручную завершить процесс "firefox.exe" в диспетчере задач, и вы получите тот же результат. |
dim222 > 23-07-2019 07:48:53 |
saurbeck пишет
закрыть браузер Выделить код Код:Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(Services.startup.eForceQuit); перезапуск браузера Выделить код Код:Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart); При перезапуске - батник не нужен, просто установи запуск своего кода на домашней странице. user.js |
saurbeck > 23-07-2019 08:46:14 |
dim222 пишет
Вообще-то батник нужен. потому что кроме браузера там ещё и другую прогу перезапускать периодически надо. Да и сам браузер должен перезапускаться не сразу, а через определенное время (несколько минут после закрытия). Поэтому как тут без батника обойтись? Наверно никак |
Squatter > 23-07-2019 09:08:09 |
saurbeck, что мешает перезапускать другую программу батником, а браузер закрывать через таймаут одним из вышеописанных способов? |
saurbeck > 23-07-2019 09:19:40 |
Squatter пишет
пожалуй так и сделаю: сначала закрою все вкладки кроме активной, а потом применю простую команду TAB CLOSE (предварительно в настройках браузера установив галочку "закрывать браузер при закрытии последней вкладки") |
Squatter > 23-07-2019 09:37:01 |
saurbeck, касательно батника, нужно корректно отправить WM_CLOSE. Сигнализировать завершение в приложение. В батник скрытый текст Так должно корректно закрываться. |
saurbeck > 23-07-2019 09:45:36 |
скрытый текст Squatter пишет
Так должно корректно закрываться. Вообще-то я так закрываю скрытый текст способом давно предложенным ПРЕЗИДЕНТОМ (способ этот есть и в ФАКе) https://forum.mozilla-russia.org/viewto … 35#p695435 и https://forum.mozilla-russia.org/viewto … 74#p695674 |
Squatter > 23-07-2019 09:51:57 |
Без F параметра |
saurbeck > 23-07-2019 09:54:22 |
Squatter пишет
Ааа, так вот в чём загвоздка была. Попробую без F. Кстати, а что это за F, для чего? 23-07-2019 09:58:30 |
PRESIDENT > 23-07-2019 12:47:31 |
Батником так корректнее будет Выделить код Код:SET processName="Firefox.exe" SET pathToFirefox=D:\FAERFOX taskkill.exe /F /IM %processName% timeout /T 2 /NOBREAK erase /F /Q %pathToFirefox%\Data\profile\*.sqlite erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-shm erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-wal erase /F /Q %pathToFirefox%\Data\profile\sessionstore.js erase /F /Q /S %pathToFirefox%\Data\profile\cache2 erase /F /Q /S %pathToFirefox%\Data\profile\OfflineCache erase /F /Q /S %pathToFirefox%\Data\profile\safebrowsig erase /F /Q /S %pathToFirefox%\Data\profile\startupCache erase /F /Q /S %pathToFirefox%\Data\profile\thumbnails exit |
Squatter > 23-07-2019 13:44:09 |
PRESIDENT ИМХО, это уже избыточно. Вполне достаточно скрытый текст и в настройках приватности about:preferences#privacy просто включить "Удалять историю при закрытии Firefox" предварительно указав что нужно чистить. И опять же, зачем насильно, криво убивать процесс, чтобы потом принудительно чистить все "хвосты", когда без флага /F работа firefox корректно завершается, как при обычном нажатии на [x]? В чём подвох? |
zoodov > 25-07-2019 12:24:56 |
Добрый день. Помогите с каким-нибудь актуальным туториалом. Хочу выполнить js скрипт. test.js: test.iim код публикуется в тегах code под спойлером Ну и оно не работает. Как на данный момент можно выполнить js с помощью imacros? InfSub |
InfSub > 25-07-2019 12:31:12 |
zoodov 25-07-2019 13:00:19 Squatter пишет
иногда бывает, что ff закрытый по [х] или через taskkill без force продолжает висеть в процессах, так что способ предложенный PRESIDENT имеет право на жизнь |
flyte > 01-08-2019 14:56:52 |
Всем доброго времени суток. Помогите решить проблему. У меня стоит ff 56 и imacros 8.9.7, все работает как часы, но при включении многопроцессности у меня перестают работать макросы, добавленные в панель закладок. Ссылка в закладке как положено "imacros://run/?m=Current.iim", но при многопроцессности не работает. Есть идеи как бороться с этим? |
dim222 > 01-08-2019 16:01:15 |
flyte |
InfSub > 01-08-2019 16:57:43 |
flyte |
flyte > 05-08-2019 10:50:16 |
dim222 пишет
в том то и дело, что она как раз мне нужна, я работаю в тяжелом веб-приложении с большим кол-вом открытых страниц и в один процесс очень тяжело InfSub пишет
все мои скрипты на чистом js перестали работать |
Алим > 19-08-2019 22:18:31 |
Как подключить JSON к imacros ? |
InfSub > 19-08-2019 23:22:47 |
Алим |
Алим > 20-08-2019 10:31:03 |
InfSub скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Для чего, тогда они так делают? Я думал только после подключения можно с jquery работать. |
InfSub > 20-08-2019 11:24:54 |
Алим З.Ы. если верить автору статьи по вашей ссылке, то достаточно просто поместить код в скрипт и далее использовать функционал jQuery в скрипте |
karginaolga > 20-08-2019 11:25:45 |
Алим |
Алим > 20-08-2019 16:54:52 |
Значит мне нужен jquery. InfSub пишет
Да, я так и сделал. скрытый текст Выделить код Код:function loadScriptFromURL(url) { var request = Components.classes['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance(Components.interfaces.nsIXMLHttpRequest), async = false; request.open('GET', url, async); request.send(); if (request.status !== 200) { var message = 'ошибка при загрузке скрипта по урл: ' + url + ', status: ' + request.status; iimDisplay(message); return false; } eval(request.response); return true; } loadScriptFromURL('http://imacros-script.ru/jquery/jquery-2.1.4.min.js'); $ = window.$, JQuery = window.JQuery; |
Алим > 28-08-2019 12:28:53 |
Как при таком случае, сделать перенос строки? скрытый текст Выделить код Код:var txt = "текст\nтекст" content.document.getElementsByClassName('cke_contents_true cke_show_borders')[0].textContent=txt.split('\n') вот так сработало скрытый текст Выделить код Код:var txt = "текст<br>текст" content.document.getElementsByClassName('cke_contents_true cke_show_borders')[0].innerHTML=txt |
Алим > 14-09-2019 17:17:23 |
В почте яндекса при вставки эмайл адреса в поле кому, через dom, вставляется но не отправляется из-за того, что не фиксируется в поле. Когда мышкой нажимаешь в поле - тема, то эмайл фиксируется в поле с выделением эмайд адреса. скрытый текст Выделить код Код:content.document.getElementsByClassName('js-compose-field mail-Bubbles')[0].innerHTML='ivan@mail.ru' content.document.getElementsByClassName('js-compose-field mail-Bubbles')[0].click() Как это можно решить? |
Squatter > 15-09-2019 01:05:49 |
Алим скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Код отправки скрытый текст Выделить код Код:var input_nodes = window.document.querySelectorAll('.b-form-input__input'); input_nodes[0].value = "ivan@mail.ru"; input_nodes[3].value = "Test headline"; var input_txarea = window.document.querySelector('textarea#compose-send'); input_txarea.value = "Test message"; // Отправить window.document.querySelector('.b-compose__send').click(); |
s.stake > 16-09-2019 21:34:42 |
В JS скриптах русский текст видит кракозябрами, и как следствие, нечего не работает. скрытый текст Хотя в iim все ок скрытый текст Причем Notepad видит все как должно быть, на русском, а открыв код в редакторе мозилы увидел что весь русских текст прописан кракозябрами. Нечего не переустанавливал, работал как и раньше. Теперь переписывать все JS скрипты, или есть какое-то решение? Кто знает, подскажите пожалуйста, в чем может быть проблема? Мозила 47.0.1 Notepad++ 7.5.1 Final + Portable |
InfSub > 16-09-2019 22:55:47 |
s.stake |
s.stake > 16-09-2019 23:32:11 |
InfSub пишет
Нечего не переустанавливал, нечего не менял. Ранее рабочие скрипты перестали работать. Кодировка не менялась. скрытый текст и как видит мозила: скрытый текст |
InfSub > 17-09-2019 10:03:54 |
s.stake |
karginaolga > 17-09-2019 11:16:18 |
s.stake |
s.stake > 17-09-2019 13:18:42 |
InfSub пишет
Да пробывал, и принудительно и по разному, и notepad другие версии устанавливал. Нечего не помогло. Решение - в другой редактор перешел, пока все работает. Просто хотелось понять, что могло вызвать такой внезапный глюк notepad++. karginaolga пишет
Прежде чем сюда писать, я не только мышкой понажимал. |
Gergi > 19-09-2019 08:52:05 |
Всем привет! |
flyte > 19-09-2019 16:59:14 |
Доброго времени суток! Ребят, подскажите плиз как пользоваться чистым js в 10м imacros? выдает ошибку SyntaxError: can not parse macro line 1 |
InfSub > 19-09-2019 21:45:41 |
flyte
|
flyte > 20-09-2019 09:53:48 |
InfSub спасибо InfSub |
saurbeck > 20-10-2019 14:06:30 |
Здравствуйте! Подскажите как записать текст в массиве таким образом, чтоб каждое слово вставлялось с новой строки? скрытый текст Выделить код Код:var text = ['Данное сообщение пишем с новой строки'] iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=ACTION:* ATTR=CLASS:message* CONTENT="'+ text +'"'); То есть имеем форму ввода текста. Надо этот текст записать в форму ввода так, чтоб каждое слово было с новой строки. Как записать? А то всё в одно предложение, в одну строку записывается. То есть чтоб вот такого вида получилось: Данное |
Squatter > 20-10-2019 14:41:25 |
saurbeck скрытый текст Выделить код Код:var text = ['Данное сообщение пишем с новой строки']; iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=ACTION:* ATTR=CLASS:message* CONTENT="'+ text[0].replace(/\s/g, '\r\n') +'"'); |
saurbeck > 20-10-2019 14:56:07 |
Squatter пишет
Благодарю! |
Squatter > 20-10-2019 15:04:14 |
Заранее в текст вбейте символ переноса строки в нужные места Есть же примеры скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. скрытый текст Выделить код Код:var tx = ['Данное сообщение пишем с \nновой \n\n\nстроки']; var txarea = window.document.querySelector('textarea[class^="message"]'); txarea.value = tx[0]; |
InfSub > 20-10-2019 16:55:33 |
saurbeck |
saurbeck > 20-10-2019 19:31:03 |
Squatter 20-10-2019 19:35:26 InfSub пишет
А тут что-то не понял я. Если в текст добавить <br> (этот вариант знака новой строки), то вместо новой строки это и прописывается вместе с текстом. Это ж для iim подходит. А если в массивах использовать, то как? Что-то не получается записать так, чтоб новая строка получалась... Можно более подробней? |
saurbeck > 21-10-2019 01:07:12 |
Подскажите пожалуйста как сохранять текст по столбцам в csv файл (таблицу Ексель)? Есть две команды сохраняющие разный текст: скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=TD ATTR=class:order-info EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=order-num-box.csv'); iimPlayCode('TAG POS=1 TYPE=A ATTR=class:baobei-name EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=order-num-box.csv'); Как записать так, чтоб первый текст сохранялся бы в первый столбец, второй - во второй (и т.д)? |
InfSub > 21-10-2019 01:42:19 |
saurbeck По поводу csv откройте faq там все написано скрытый текст Выделить код Код:iimPlayCode('Set !extract Текст[extract]текст\nTAG POS=1 TYPE=A ATTR=class:baobei-name EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=order-num-box.csv'); |
saurbeck > 21-10-2019 17:37:45 |
InfSub а что за Текст[extract]текст? Это так и надо чтоб было написано? PS пока разобраться так и не удаётся, как же всё таки сохранять текст в разные столбцы |
InfSub > 21-10-2019 18:33:35 |
saurbeck Прежле чем задавать вопрос, запустите пример приведенный выше и посмотрите на результат, разве так сложно? |
saurbeck > 21-10-2019 18:45:14 |
InfSub скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=TD ATTR=class:order-info EXTRACT=TXT\nTAG POS=1 TYPE=A ATTR=class:baobei-name EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=order-num-box.csv'); Реально работает и сохраняет текст в разные столбцы, так как мне и надо было. Но там нет SET !EXTRACT. Поэтому, для чего вы SET !EXTRACT в данном случае применили... непонятно. Можете пояснить? |
Алим > 23-10-2019 18:18:34 |
В Интернете написано, что переменая в match() указывается через new RegExp(url) Открываю сайт и после домена имени через слеш, стоит ник. скрытый текст Выделить код Код:var массив = [] var url = window.location.pathname.replace(/./,'') // CatsPleasant (разные ники) for(i=0;i<700;i++){ try { // извлекаем ссылки с сайта var links = content.document.getElementsByTagName('a')[i].getAttribute('href'); } catch (error) {} if(links.match(/url\/status.\d+$/gi)){ массив.push(links) } } alert(массив) |
InfSub > 23-10-2019 18:28:53 |
Алим 23-10-2019 18:31:36 |
Squatter > 23-10-2019 23:15:46 |
Алим скрытый текст |
InfSub > 24-10-2019 00:11:57 |
Squatter |
Squatter > 24-10-2019 01:43:50 |
InfSub, я на цикл не смотрел, т.к. он там вообще неуместен в таком виде. Наличие try{...} catch{...} не смутило? Судя по коду ему нужно при листинге страниц извлекать из pathname уникальный ник и подставлять его в регулярку, скрытый текст Выделить код Код:var arr = []; var url = window.location.pathname.substr(1); var nodes = window.document.querySelectorAll('a'); var re = new RegExp(url + '/status\\.\\d+', 'i'); for (i=0;i<nodes.length;i++) { var link = nodes[i].href; if (re.test(link)) arr.push(link); } window.console.log(arr); |
Gergi > 28-10-2019 14:40:24 |
Всем привет! |
dim222 > 28-10-2019 15:45:23 |
Gergi скрытый текст Выделить код Код:Set shell = WScript.CreateObject("WScript.Shell") title = "Authentication Required" If shell.AppActivate(title) Then shell.SendKeys "%{F4}" End If |
saurbeck > 28-10-2019 21:49:46 |
Всем привет! Подскажите как массивы переносить в файл и брать оттуда? Суть такова: имеем 100500 различных ников, которые находятся в массиве и скрипт рандомно выбирает один из них (в цикле). Можно конечно эти 100500 ников записать самом в js-скрипте и брать оттуда, но зачем захламлять скрипт? Тем более что кроме ников может быть ещё другие данные, которые тоже в массиве и их может быть 100 раз по 100500. Поэтому предпочтительней брать из файла, точнее файлов, в которых записаны различные данные массиов. п.п. 2.1 InfSub |
InfSub > 29-10-2019 01:07:53 |
saurbeck |
Gergi > 29-10-2019 09:26:14 |
dim222 пишет
Когда всплывает окно я просто пальцем F4 нажимаю но не закрывает окно. скрытый текст Выделить код Код:SET !ERRORIGNORE YES TAB CLOSEALLOTHERS SET !DATASOURCE C:\Vkontakte\IP.txt SET !DATASOURCE_LINE 1 SET !DATASOURCE_COLUMNS 5 CLEAR ONLOGIN USER={{!COL3}} PASSWORD={{!COL4}} SET IPHTTP {{!COL1}} SET IPSSL {{!COL1}} SET IPFTP {{!COL1}} SET IPSOCKS {{!COL1}} SET SOCKSVER "5" SET PORTALL {{!COL2}} URL GOTO=about:config WAIT SECONDS=2 SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.type",1);") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",true);") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",false);") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.http",'{{IPHTTP}}');") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.http_port",{{PORTALL}});") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ssl",'{{IPSSL}}');") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ssl_port",{{PORTALL}});") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ftp",'{{IPFTP}}');") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ftp_port",{{PORTALL}});") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.socks",'{{IPSOCKS}}');") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_port",{{PORTALL}});") SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_version",{{SOCKSVER}});") TAB OPEN TAB T=2 URL GOTO=https://vk.com/login WAIT SECONDS=3 Вопрос в том что бы любыми способами закрыть окно логина и пароля которое иногда выскакивает и тормозит работу скрипта |
dim222 > 29-10-2019 12:16:34 |
Gergi |
Alik123 > 25-11-2019 09:16:39 |
Всем привет! Столкнулся с проблемой, при запуске imacros mozila portable 58 на сайте делает несколько циклов быстро, потом начинает заметно подтормаживать и тормозит сильнее с каждым циклом. Как победить это явление? |
InfSub > 25-11-2019 14:02:36 |
Alik123 |
Alik123 > 25-11-2019 15:08:45 |
InfSub пишет
на сколько старые? есть сылки или версии напиши? |
Gergi > 25-11-2019 16:00:50 |
Всем привет! |
InfSub > 25-11-2019 16:34:50 |
Alik123 |
Gergi > 26-11-2019 14:07:09 |
Где можно скачать имакрос для 56й мазилы? Не могу его установить всё время пишет что имакрос повреждён 26-11-2019 14:31:36 Gergi пишет
Всё установил,вопрос исчерпан. |
Константин1215 > 08-12-2019 13:16:38 |
Здравствуйте. а совсем хорошо было бы, если бы можно было делать макрос на повторение макросов. |
PRESIDENT > 08-12-2019 17:24:14 |
Используй старые версии мазилы и имакроса с поддержкой JS |
InfSub > 09-12-2019 11:59:08 |
Константин1215 |
Константин1215 > 11-12-2019 20:13:04 |
PRESIDENT пишет
InfSub пишет
Ну чего вот вы издеваетесь? "Грешно смеяться над несчастным" С |
InfSub > 11-12-2019 22:37:07 |
Константин1215 Константин1215 пишет
тем более - основы js вы схватите на лету, а ООП от вас никто и не требует, достаточно основ, а далее - как пойдет скрытый текст или подобный но с while(); проблем у вас вызвать не должен |
Константин1215 > 17-12-2019 10:10:22 |
InfSub пишет
Конечно не вызывает. |
InfSub > 17-12-2019 13:18:52 |
Константин1215 скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. да, 8.9.7 самая стабильная и самая продвинутая из всех (стабильнее были только некоторые более старые версии, но работали они только с более старым js) все что выше 8 версии - либо не умеет js, либо умеет, но очень криво, половина команд iMacros в них не работает, js также отрабатывает с ошибками (можете поискать по разделу iMacros на форуме комментарии к версии 9.0.3) курсы: скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. вопросы можно и здесь задавать, но скорее в контексте специфики работы c iMacros |
Константин1215 > 21-12-2019 21:26:41 |
InfSub пишет
Благодарю за обстоятельный ответ! |
saurbeck > 09-01-2020 10:43:41 |
Привет! Какая версия аймакрос годится для последней версии фаерфокса, ну то есть для 72-ой? |
saurbeck > 09-01-2020 13:34:55 |
точнее как установить версию 8.9.7 на самый последний фаерфокс? |
InfSub > 09-01-2020 13:42:49 |
saurbeck пишет
Ни как |
mnemon84 > 10-01-2020 10:11:54 |
Привет. Подскажите пожалуйста скрытый текст Выделить код Код:TAG POS={{!loop}} TYPE=a ATTR=* set !loop eval("var s=\"{{!loop}}\"; if(s < 8){s=\"{{!loop}}\";} else 10") Как сделать так что бы LOOP перескочил 9 шаг. Т.е после 8-го был 10-й. Спасибо |
InfSub > 10-01-2020 11:35:55 |
mnemon84 |
mnemon84 > 10-01-2020 16:09:58 |
Хорошо спасибо. А еще такой вопрос. VAR1 принимает значение LOOP. У меня в коде синтактическая ошибка. скрытый текст Выделить код Код:set !var1 eval("var s = \"{{!LOOP}}\"; if(s > 8) {s = s + 1}; else s") PROMPT {{!VAR1}} После 8-го LOOPa выдает значения 81, 91... Как правильно написать код? Подскажите пожалуйста |
InfSub > 10-01-2020 16:19:33 |
mnemon84 10-01-2020 16:32:23 mnemon84 пишет
скрытый текст |
mnemon84 > 10-01-2020 17:12:37 |
InfSub |
InfSub > 10-01-2020 17:22:45 |
mnemon84 |
InfSub > 10-01-2020 18:00:39 |
mnemon84 пишет
создать/переименовать файл в js в папке iMacros\Macros средствами самой операционной системы, видимо очень сложная задача 10-01-2020 18:04:05 mnemon84 пишет
вы сами себе придумали проблему, уже не однократно обсуждалось, что не надо использовать iMacros версий выше 8.9.7, что не так? хотите пожаловаться на судьбу, для этого есть тема Флейм, но не надо в данной теме устраивать флуд не по делу, все что можно было сказать о косяках 10й версии уже не однократно было сказано, вопрос закрыт |
saurbeck > 20-01-2020 17:44:46 |
InfSub пишет
А какая на ваш взгляд портабельная версия ФФ самая наиболее продвинутая из тех что работают с 8.9.7 ? По моим наблюдениям это 56-тая и 52-рая ESR. Казалось бы 56 более выше, значит она продвинутее, но 52-рая это ESR (!), а значит обновлялась более продолжительное время и возможно даже после того как про 56-тую уже забыли. И вот тут надо выбрать: какая версия всё таки лучше в плане соответствия современным сайтам, потому что есть такие сайты, на которых некоторые возможности работают только с самыми новейшими версиями браузеров. Поэтому, хотелось бы ваше мнение, что лучше: 52-рая или 56-тая версия? |
InfSub > 20-01-2020 17:56:21 |
saurbeck |
saurbeck > 20-01-2020 18:12:13 |
InfSub пишет
вот это ключевые слова! тот сайт на котором мне надо работа аймакроса со старыми версиями ФФ не хочет работать полноценно (не все функции открываются на старых ФФ). И в придачу ко всему если версия ФФ старая,то высока вероятность того, что "спалит" сайт новорега. Ну это как с гугло-капчей - чем более экзотичней браузер, тем больше шансов что тебя "спалят", поэтому желательно использовать наиболее распространенные версии ФФ. А какие наиболее распространенные - понятное дело, наиболее современные, то есть последние. Но поскольку последние версии ФФ не работают с 897, то приходится идти на компромис и использовать и так что-то по возможности старое, например 52 или 56 версии. Так какая из этих версий наиболее продвинутая? Или вы не знаете? |
InfSub > 20-01-2020 18:22:44 |
saurbeck 20-01-2020 18:24:26 |
saurbeck > 20-01-2020 19:32:22 |
InfSub пишет
удалено, п.п. 2.12 20-01-2020 19:37:22 флейм PS Вы ту меня видать за пятилетнего дитёнка из детского сада держите, раз интересуетесь таким бредом как "кто мешает заменить юзер-агент". А действительно, кто мешает? Может вы знаете? Ну ка поведайте, кто ж это мешает? Кто это мерзавец, который мешает??? замечание InfSub |
dim222 > 20-01-2020 19:45:29 |
saurbeck |
InfSub > 20-01-2020 20:05:09 |
saurbeck пишет
бред, ИМХО - это придти и интересоваться продвинутостью версий, так что каков вопрос.... Если уж вам так любопытно, change log ни кто не отменял |
saurbeck > 20-01-2020 21:46:27 |
dim222 пишет
Меня как бы тоже устраивает и 52-рая и 56-тая. НО! Есть такой момент: когда меняю юзерагент например от Oперы, то в 56-той версии сайт открывается без некоторых картинок, без многих. И можно было бы подумать что так оно и должно быть. Но не тут-то было: если тоже самое, с тем же самым юзерагентом Оперы я проделываю с Фаерфоксом самой последней (или предпоследней (70-72) версии, то на сайте ничего не пропадает, картинки никакие не пропадают и всё отображается так, как будто я реально на Опере захожу. То есть смена юзерагента и там и там - не одно и тоже. Поэтому такая фигня со старыми (ниже 70-ой) версиями ФФ. |
andreas1990 > 24-01-2020 13:11:31 |
Всем привет! скрытый текст Выделить код Код:VERSION BUILD = 8970419 RECORDER = FX TAB T = 1 GOTO URL = moz-action: visiturl, {"url": "moz-extension: //89fb70d6-67d2-47c2-8065-bdbcb532b409/html/panel.html", "input": "moz-extension: // 89fb70d6 -67d2-47c2-8065-bdbcb532b409 / html / panel.html "} код публикуется в тегах code под спойлером потом пробовал содать файл.html туда добавил этую ссылку, imacros'oм открыл файл, кликнул по елементу, но ничего не произошло. InfSub |
saurbeck > 16-02-2020 11:58:31 |
Всем привет! Подскажите код который добавляет текущую дату (дд.мм.гггг) к сохраняемому тексту, например такой команде: скрытый текст Выделить код Код:iimPlayCode('SET !EXTRACT TAG POS=3 TYPE=DIV ATTR=TXT:order<SP>number* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=dokument.csv'); |
InfSub > 16-02-2020 19:41:06 |
saurbeck 16-02-2020 19:41:53 |
saurbeck > 20-02-2020 01:24:58 |
Подскажите пожалуйста как можно записать строчку вывода информации о порядковом номере аккаунта (+i) и тут же рядом чтоб ещё номер по списку (+s)? (Скрипт работает в цикле) скрытый текст то оно всё в куче получается, пишет Аккаунт 23894, где 23 - номер по порядку, а 894 номер аккаунта. Так я интересуюсь как записать так, чтоб было раздельно, примерно такого вида: Номер 23, Аккаунт 894 |
InfSub > 20-02-2020 05:11:39 |
saurbeck скрытый текст |
Slam37 > 11-03-2020 00:13:35 |
Ребят, очень нужна помощь. скрытый текст Выделить код Код:ONDOWNLOAD FOLDER=D:\imacros_Downloads FILE=123 WAIT=YES TAG POS=1 TYPE=SPAN ATTR=CLASS:instancename код публикуется в тегах code под спойлером (При сохранении ссылка на файл не прямая по этому расширения от туда не взять) Теперь нужно загрузить файл на другой сайт. Пытаюсь загрузить скриптом скрытый текст
код публикуется в тегах code под спойлером Но фишка в том что тут надо указывать расширение, а они у меня разные. Со звездочкой в конце не прокатывает он в название файла звездочку ставит и пишет что файл не найден. Как выбрать (загрузить) файл с компа по названию с любым расширением ? Или как ни то сделать чтобы при сохранение он копировал название файла вмести с расширением в буфер. Чтобы на другом сайте он указал именно на него. Начиная с imacros 10 версии, добавили такую команду !DOWNLOADED_FILE_NAME которая позволяет скопировать имя скачиваемого файла. Но там отключили поддержку запуска Самого скрипта JS. В общем нужна помощь. Уже второй день бьюсь над этой проблемой HELP. InfSub |
Slam37 > 13-03-2020 20:46:05 |
Всем спасибо! скрытый текст Выделить код Код://Cобираем данные название всех файлов в вашей папке в массив 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; } // В качестве параметра при вызове передаёте локальную ссылку на каталог var f_names = OpenPath("D:\\imacros_Downloads"); // переклеивание (конвертация) массива до нужного вида чтобы с ним было удобнее работать (через запятую) var str = f_names.join(', ')+','; // пример: 1, 2, 3, 4, 5 //window.console.log(str); -этой командой можно проверить что получилось в консоле браузера. //Далее ищем файл по первым буквам например урок1фай... var result = str.match(/урок1фай([^,]*?)\s*,/i); // window.console.log('Результат = "' + result[1] + '"'); это проверка ели надо, что у нас получилось (дописывает окончание к неполному имени и выводит полное имя файла) //объединяем путь папки с именем найденного файла, и вставляем форму для выгрузки var result1="TAG POS=1 TYPE=INPUT:FILE ATTR=NAME:repo_upload_file CONTENT=D:\\imacros_Downloads\\" + result[0]; // Заливаем наш файл на сайт iimPlayCode(result1); Формула немного гибкая можно сделать чтобы он дописывал окончание, или просто брал полное название из массива, по первым буквам. Может кому то пригодится! |
saurbeck > 19-04-2020 05:37:00 |
Привет! Ребята подскажите пожалуйста как можно извлекать временную почту с сайта tempmail.io
скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:message__info-container*container* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=Proba.txt'); скрытый текст |
dim222 > 19-04-2020 08:22:33 |
saurbeck скрытый текст |
saurbeck > 19-04-2020 14:05:07 |
dim222 Благодарствую! А как это сохранить? Как записать, чтоб оно в файл сохранилось? Вот по аналогии с этой командой? скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:message__info-container*container* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=Proba.txt'); InfSub |
dim222 > 19-04-2020 14:54:21 |
saurbeck скрытый текст Выделить код Код:let fileName = 'C:\\Proba.txt', mail = window.document.querySelector('#email').value; imns.FIO.writeTextFile(imns.FIO.openNode(fileName), mail); |
saurbeck > 19-04-2020 14:58:30 |
dim222 Благодарствую! Осталось теперь только голову поломать как записать так, чтоб оно не в файл сохранялось, а просто в буфер обмена. Даже не то что бы в буфер обмена, а просто извлекалался бы емейл и вставлялся бы в нужное поле на другой странице сайта. Вот по аналогии с командой EXTRACT. Но тут у вас экстракта нету, тут вообще всё на другом уровне. Я с таким никогда не сталкивался. Мне проще с простыми командами работать типа EXTRACT. замечание InfSub |
dim222 > 19-04-2020 15:10:57 |
saurbeck |
saurbeck > 19-04-2020 15:15:33 |
dim222 Хорошо, получилось сохранять. Благодарствую! Осталось теперь только голову поломать как записать так, чтоб оно не в файл сохранялось, а просто в буфер обмена. Даже не то что бы в буфер обмена, а просто извлекалался бы емейл и вставлялся бы в нужное поле на другой странице сайта. Вот по аналогии с командой EXTRACT. Но тут у вас экстракта нету, тут вообще всё на другом уровне. Я с таким никогда не сталкивался. Мне проще с простыми командами работать типа EXTRACT. InfSub |
dim222 > 19-04-2020 15:25:58 |
saurbeck |
saurbeck > 19-04-2020 16:00:38 |
dim222 Вообще я сперва из списка (файла) извлекал готовые майлы и вставлял в нужное поле, было: скрытый текст Выделить код Код:immPlayCode('SET !DATASOURCE tochka-gmail.txt\nSET !DATASOURCE_LINE '+i+'\nSET !EXTRACT {{!COL1}}'); emailVer=iimGetExtract(); immPlayCode('TAG POS=1 TYPE=INPUT:EMAIL FORM=NAME:codeVerificatorForm ATTR=ID:emailVerification CONTENT='+emailVer+''); immPlayCode('TAG POS=1 TYPE=BUTTON FORM=NAME:codeVerificatorForm ATTR=TXT:Отправить'); любой код публикуется в тегах code под спойлером замена названий встроенных функций на свои на форуме запрещена Теперь надо не из списка готовых майлов брать а с сайта tempmail.io. Хорошо, как брать с сайта майлы, понятно. скрытый текст Выделить код Код:immPlayCode('TAG POS=1 TYPE=INPUT:EMAIL FORM=NAME:codeVerificatorForm ATTR=ID:emailVerification CONTENT='+emailVer+''); удалено избыточное цитирование замена названий встроенных функций на свои на форуме запрещена значит вместо '+emailVer+' надо записать mail? замечание InfSub |
dim222 > 19-04-2020 16:53:32 |
saurbeck пишет
да |
Megavega > 26-04-2020 16:32:01 |
Расширение iMacros for Firefox в приватном окне Firefox как-то можно заставить работать? |
maximka_l > 08-05-2020 13:40:45 |
Всем форумчаном привет. скрытый текст Выделить код Код:VERSION BUILD=10021450 URL GOTO=https://site SET !DATASOURCE E:\kp\kpid.txt SET !DATASOURCE_LINE {{!LOOP}} SET !LOOP 1 ADD !EXTRACT {{!COL1}} TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:id CONTENT={{!COL1}} TAG POS=7 TYPE=DIV ATTR=TXT: TAG POS=1 TYPE=A ATTR=ID:add WAIT SECONDS=2 TAG POS=7 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=5 TAG POS=1 TYPE=A ATTR=ID:start-sinoni WAIT SECONDS=7 TAG POS=1 TYPE=A ATTR=ID:save WAIT SECONDS=7 код публикуется в тегах code под спойлером В кратце: Заходит на кинопортал в админку, добавляет из файла по циклу начиная с 1 ID с кинопоиска и нажимает сохранить Вопрос: Как сделать проверку в админке сайта, например если поле не заполнено, то пропускаем ID и идем дальше. скрытый текст Выделить код Код:<input type="text" class="form-control" name="movie.country" value="" placeholder="ТУТ СТРАНА" style="font-weight: normal; font-size: 14px;" autocomplete="off" autocapitalize="off" spellcheck="false"> т.е. если Страна не заполнена, то пропускаем ID и запускаем цикл по новой. Всем спасибо, надеюсь описал понятно InfSub |
InfSub > 10-05-2020 11:29:41 |
maximka_l |
Gergi > 13-05-2020 11:19:09 |
Всем привет! скрытый текст Выделить код Код:Set shell = WScript.CreateObject("WScript.Shell") title = "Authentication Required" If shell.AppActivate(title) Then shell.SendKeys "%{F4}" End If По имени title,..... если есть это окно, то жмякает на F4. Скрипт стоит на удалёнке,и всё работает если я подключен к серверу рабочему столу,если отключаюсь то уже не работает! Задача такая чтобы игнорировать это окно иначе оно останавливает работу. |
Squatter > 13-05-2020 14:32:20 |
Gergi Раньше решалось about:config скрытый текст Попробуйте это скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
Gergi > 13-05-2020 15:06:30 |
Squatter Уже пробовал эти варианты не помогло Может есть вариант вообще отключить это окно чтобы никогда не появлялось? для обращения к участнику форума - нажмите на его ник в панели слева, не захламляйте форум ненужным, в большинстве случаев, цитированием InfSub |
tiger8265 > 29-05-2020 14:08:14 |
пытаюсь вытянуть из авито данные разных авто, начал с марки.. у них одинаковый класс, как вытянуть? скрытый текст Выделить код Код:<div class="item-params"> <ul class="item-params-list"> <li class="item-params-list-item"> <span class="item-params-label">Марка: </span>Nissan </li> <li class="item-params-list-item"> <span class="item-params-label">Модель: </span>X-Trail </li> <li class="item-params-list-item"> <span class="item-params-label">Поколение: </span>II рестайлинг (2010—2015) </li> <li class="item-params-list-item"> <span class="item-params-label">Модификация: </span>2.5 4WD CVT (169 л.с.) </li> <li class="item-params-list-item"> <span class="item-params-label">Год выпуска: </span>2012 </li> <li class="item-params-list-item"> <span class="item-params-label">Пробег: </span>138000 км </li> <li class="item-params-list-item"> <span class="item-params-label">Состояние: </span>не битый </li> <li class="item-params-list-item"> <span class="item-params-label">Владельцев по ПТС: </span>2 </li> <li class="item-params-list-item"> <span class="item-params-label">VIN или номер кузова: </span>Z8NT************* </li> <li class="item-params-list-item"> <span class="item-params-label">Тип кузова: </span>внедорожник </li> <li class="item-params-list-item"> <span class="item-params-label">Количество дверей: </span>5 </li> <li class="item-params-list-item"> <span class="item-params-label">Тип двигателя: </span>бензин </li> <li class="item-params-list-item"> <span class="item-params-label">Коробка передач: </span>вариатор </li> <li class="item-params-list-item"> <span class="item-params-label">Привод: </span>полный </li> <li class="item-params-list-item"> <span class="item-params-label">Руль: </span>левый </li> <li class="item-params-list-item"> <span class="item-params-label">Цвет: </span>фиолетовый </li> <li class="item-params-list-item"> <span class="item-params-label">Комплектация: </span>LE </li> <li class="item-params-list-item"> <span class="item-params-label">Место осмотра: </span>Московская область, Сергиев Посад, Московское шоссе, 17 </li> </ul> </div> скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Как вытянуть только конкретные строки? InfSub |
tiger8265 > 29-05-2020 15:02:47 |
как вытянуть числа из скобок ? пока только удаляю все ненужное, но может есть и более верный вариант скрытый текст InfSub |
dim222 > 26-06-2020 08:29:58 |
Блин чот я перегрелся походу! скрытый текст Выделить код Код:var obj_inject = { 'canvas':{ 'r': 0, 'g': 3, 'b': -4, 'a': 2 } }; var inject = function(obj) { window.console.log(obj) }; var script_1 = window.document.createElement('script'); script_1.textContent = "(" + inject + ")(" + obj_inject + ")"; window.document.documentElement.appendChild(script_1); Знатоки направьте.....что не так??? |
Squatter > 26-06-2020 09:09:01 |
Так в параметрах вызова же… скрытый текст Выделить код Код:var obj_inject = { 'canvas':{ 'r': 0, 'g': 3, 'b': -4, 'a': 2 } }; var inject = function(obj) { window.console.log(obj) }; inject(obj_inject); В чём конечная цель? ---------UPD Чем пытаться внедрять скрипт текстом лучше юзайте wrappedJSObject чтобы получить доступ к пространству имён скриптов текущей страницы скрытый текст Выделить код Код://В макросе выполняем var win = window.content.document.defaultView.wrappedJSObject; win.inject = function() { window.console.log("test"); }; //В консоле по Ctrl + Shift + k вызываем для проверки inject(); |
dim222 > 26-06-2020 11:19:23 |
Squatter скрытый текст код с доступом имён Выделить код Код:var obj_inject = { 'canvas':{ 'r': 0, 'g': 3, 'b': -4, 'a': 2 } }; var canvas_inject = function (obj) { var win = window.content.document.defaultView.wrappedJSObject; const toBlob = win.HTMLCanvasElement.prototype.toBlob; const toDataURL = win.HTMLCanvasElement.prototype.toDataURL; const getImageData = win.CanvasRenderingContext2D.prototype.getImageData; var noisify = function (canvas, cont) { const shift = obj; const width = canvas.width, height = canvas.height; const imageData = getImageData.apply(cont, [0, 0, width, height]); for (let i = 0; i < height; i++) { for (let j = 0; j < width; j++) { const n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + shift.r; imageData.data[n + 1] = imageData.data[n + 1] + shift.g; imageData.data[n + 2] = imageData.data[n + 2] + shift.b; imageData.data[n + 3] = imageData.data[n + 3] + shift.a; } } }; Object.defineProperty(win.HTMLCanvasElement.prototype, "toBlob", { "value": function () { noisify(this, this.getContext("2d")); return toBlob.apply(this, arguments); } }); // Object.defineProperty(win.HTMLCanvasElement.prototype, "toDataURL", { "value": function () { noisify(this, this.getContext("2d")); return toDataURL.apply(this, arguments); } }); // Object.defineProperty(win.CanvasRenderingContext2D.prototype, "getImageData", { "value": function () { noisify(this.canvas, this); return getImageData.apply(this, arguments); } }); }; canvas_inject(obj_inject['canvas']); При этом если внедрить самовызывающий скрипт то параметры имеенно объектом не передаются...выдаёт 'undefined' самовызывающий скрипт Выделить код Код:var obj_inject = { 'canvas':{ 'r': 0, 'g': 3, 'b': -4, 'a': 2 } }; var canvas_inject = function (obj) { const toBlob = HTMLCanvasElement.prototype.toBlob; const toDataURL = HTMLCanvasElement.prototype.toDataURL; const getImageData = CanvasRenderingContext2D.prototype.getImageData; var noisify = function (canvas, cont) { const shift = obj; const width = canvas.width, height = canvas.height; const imageData = getImageData.apply(cont, [0, 0, width, height]); for (let i = 0; i < height; i++) { for (let j = 0; j < width; j++) { const n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + shift.r; imageData.data[n + 1] = imageData.data[n + 1] + shift.g; imageData.data[n + 2] = imageData.data[n + 2] + shift.b; imageData.data[n + 3] = imageData.data[n + 3] + shift.a; } } }; Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", { "value": function () { noisify(this, this.getContext("2d")); return toBlob.apply(this, arguments); } }); // Object.defineProperty(HTMLCanvasElement.prototype, "toDataURL", { "value": function () { noisify(this, this.getContext("2d")); return toDataURL.apply(this, arguments); } }); // Object.defineProperty(CanvasRenderingContext2D.prototype, "getImageData", { "value": function () { noisify(this.canvas, this); return getImageData.apply(this, arguments); } }); }; var canvas_Finger = window.document.createElement('script'); canvas_Finger.textContent = "(" + canvas_inject + ")(" + obj_inject['canvas'] + ")"; window.document.documentElement.appendChild(canvas_Finger); а если конкретно указать значения из ключа, то всё робит! |
Squatter > 26-06-2020 13:29:14 |
Не туда… совсем Ладно, если передать объект по твоему способу с внедрением, то так скрытый текст Выделить код Код:var obj_inject = { 'canvas':{ 'r': 0, 'g': 3, 'b': -4, 'a': 2 } }; var canvas_inject = function (obj) { const toBlob = HTMLCanvasElement.prototype.toBlob; const toDataURL = HTMLCanvasElement.prototype.toDataURL; const getImageData = CanvasRenderingContext2D.prototype.getImageData; var noisify = function (canvas, cont) { const shift = obj; const width = canvas.width, height = canvas.height; const imageData = getImageData.apply(cont, [0, 0, width, height]); for (let i = 0; i < height; i++) { for (let j = 0; j < width; j++) { const n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + shift.r; imageData.data[n + 1] = imageData.data[n + 1] + shift.g; imageData.data[n + 2] = imageData.data[n + 2] + shift.b; imageData.data[n + 3] = imageData.data[n + 3] + shift.a; } } }; Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", { "value": function () { noisify(this, this.getContext("2d")); return toBlob.apply(this, arguments); } }); // Object.defineProperty(HTMLCanvasElement.prototype, "toDataURL", { "value": function () { noisify(this, this.getContext("2d")); return toDataURL.apply(this, arguments); } }); // Object.defineProperty(CanvasRenderingContext2D.prototype, "getImageData", { "value": function () { noisify(this.canvas, this); return getImageData.apply(this, arguments); } }); }; var canvas_Finger = window.document.createElement('script'); canvas_Finger.textContent = "(" + canvas_inject + ")(" + JSON.stringify(obj_inject['canvas']) + ")"; window.document.documentElement.appendChild(canvas_Finger); |
dim222 > 26-06-2020 14:44:34 |
Squatter 26-06-2020 14:49:52 |
Алим > 01-08-2020 10:27:25 |
Задача переместить файл из одной папки в другую скрытый текст Выделить код Код:Components.utils.import("resource://gre/modules/FileUtils.jsm"); var FFM = { moveFile: function (from, to) { var toFileName = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[2]; var toFolderPath = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[1]; var file = new FileUtils.File(from); // Тут инстанс файла, который копируем var newFolderPath = new FileUtils.File(toFolderPath); // Тут инстанс папки, куда копируем if (file.exists()) { try { file.moveTo(newFolderPath, toFileName); return true; } catch (e) { window.console.log(e); return false; } } else { return false; } }, } FFM.moveFile("C:\\папка\\1 запись.mp4", "E:\\1 запись.mp4"); Ругается на скрытый текст Выделить код Код:var toFileName = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[2]; var toFolderPath = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[1]; |
InfSub > 01-08-2020 10:52:01 |
Алим |
Алим > 01-08-2020 13:20:39 |
InfSub пишет
Про это я знал, но как правильно туда это вставить, вот в чём вопрос скрытый текст Выделить код Код:var toFileName = (/(\s\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+\.[а-яА-Я]+)/gi).exec(to)[2]; var toFolderPath = (/(\s\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+\.[а-яА-Я]+)/gi).exec(to)[1]; |
InfSub > 02-08-2020 15:06:28 |
Алим пишет
Да, случай запущенный.. разбери рег. выражение на составляющие и поймешь куда вставлять, вместо того чтобы пихать куда попало... С чего вдруг пробел может оказаться перед буквой диска? |
dim222 > 03-08-2020 08:47:23 |
Алим а так? |
dim222 > 03-08-2020 17:45:27 |
Алим или так? Выделить код Код:var toFileName = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[2]; var toFolderPath = (/(\w?\:?\\?[\w\-_\\]*\\+)([\w-_]+\.[\w-_]+)/gi).exec(to)[1]; |
InfSub > 03-08-2020 18:08:15 |
dim222 |
dim222 > 03-08-2020 21:16:13 |
InfSub 03-08-2020 21:19:29 |
miltorg > 04-08-2020 20:48:22 |
InfSub пишет
[а-яА-ЯёЁ] |
Алим > 12-08-2020 21:43:43 |
InfSub Разобрался, теперь работает скрытый текст Выделить код Код:var toFileName = (/(\w?\:?\\?[\w\-_\\а-яА-Я\s]*\\+)([\w-_а-яА-Я\s]+\.[\w-_]+)/gi).exec(to)[2]; var toFolderPath = (/(\w?\:?\\?[\w\-_\\а-яА-Я\s]*\\+)([\w-_а-яА-Я\s]+\.[\w-_]+)/gi).exec(to)[1]; |
InfSub > 12-08-2020 21:52:01 |
Алим |
Алим > 12-08-2020 22:14:46 |
InfSub скрытый текст Выделить код Код:var toFileName = (/(\w?\:?\\?[\w\-_\\а-яё\s]*\\+)([\w-_а-яё\s]+\.[\w-_]+)/gi).exec(to)[2]; var toFolderPath = (/(\w?\:?\\?[\w\-_\\а-яё\s]*\\+)([\w-_а-яё\s]+\.[\w-_]+)/gi).exec(to)[1]; Если в скрипте указано в пути сохранения так - НОвая пАПкА, а на компьютере нет такой папки, то скрипт создаст новую папку с таким же регистром. Если папка уже была "Новая папка", то не создаст новую папку и не перезапишет, а сохраняет именно в неё. Проверил. |
andreas1990 > 19-08-2020 12:47:48 |
InfSub пишет
хочу поменять отпечаток канвас фингерпринт. стоит плагин в браузере, но не знаю как imacros заставить ткнуть кнопку в этом плагине. |
Gergi > 22-09-2020 13:40:31 |
Добрый день скрытый текст Выделить код Код:'==\=======/==' SET !ERRORIGNORE YES TAB OPEN TAB T=2 SET !DATASOURCE C:\1\iMacros\IP22.txt SET !DATASOURCE_LINE 1 SET !DATASOURCE_COLUMNS 5 CLEAR ONLOGIN USER={{!COL3}} PASSWORD={{!COL4}} ' Установка параметров SET IPHTTP {{!COL1}} SET IPSSL {{!COL1}} SET IPFTP {{!COL1}} SET IPSOCKS {{!COL1}} SET SOCKSVER "5" SET PORTALL {{!COL2}} ONLOGIN USER={{!COL3}} PASSWORD={{!COL4}} ' Переход к вкладке настроек URL GOTO=about:config WAIT SECONDS=3 ' Непосредственная запись настроек ' Команда которая включает прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.type",1);") ' Устанавливает один протакол для всех одинаковым SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",true);") ' Установить каждому отдельный прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setBoolPref("network.proxy.share_proxy_settings",true);") ' Устанавливает HTTP прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.http",'{{IPHTTP}}');") ' Установить порт для HTTP прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.http_port",{{PORTALL}});") ' Устанавливаем SSL прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ssl",'{{IPSSL}}');") ' Устанавливаем порт для SSL прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ssl_port",{{PORTALL}});") ' Установка FTP прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.ftp",'{{IPFTP}}');") ' Установка порта для FTP прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.ftp_port",{{PORTALL}});") ' Установка SOCKS прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("network.proxy.socks",'{{IPSOCKS}}');") ' Установка порта для SOCKS SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_port",{{PORTALL}});") ' Установка версии SOCKS (4 или 5) SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setIntPref("network.proxy.socks_version",{{SOCKSVER}});") ' Установка логина и пароля прокси SET !VAR1 EVAL("prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);prefs.setCharPref("extensions.proxyauth.authtoken",'{{LOGPASS}}');") TAB T=1 SET !EXTRACT NULL SET !DATASOURCE C:\1\iMacros\URL.txt SET !DATASOURCE_LINE 1 SET !DATASOURCE_COLUMNS 5 'PROMPT {{!COL1}} 'WAIT SECONDS=3 TAB CLOSEALLOTHERS SET !TIMEOUT 10 TAB OPEN TAB T=2 URL GOTO=https://www.youtube.com/ SET !EXTRACT NULL WAIT SECONDS=3 |
dim222 > 22-09-2020 13:51:15 |
Gergi |
Gergi > 22-09-2020 14:02:43 |
dim222 |
mynameisvasya > 02-10-2020 14:15:59 |
как сказать макросу что бы подождал загрузки страницы? страница динамическая на java |
Герман > 09-10-2020 18:29:20 |
Привет! Ребята подскажите кусок кода чтоб дату текущего времени писало в текстовом файле ява-скрипта при сохранении текста. Выделить код Код:iimPlayCode('TAG POS=2 TYPE=DIV ATTR=TXT:тут<SP>содержание<SP>текста EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=SMS.txt'); Так тут сохраняется просто текст. А надо чтоб ещё и дата и время после текста приписывались. |
googlenoob > 10-10-2020 11:40:44 |
Герман пишет
А файлик датой именовать а не SMS.txt есть же команда генерации текущего времени будет несколько файлов TXT такого формата 08.10.2020:10:10.txt |
Герман > 19-10-2020 12:02:11 |
Привет! Подскажите как быть в случае если аймакросом просто так нельзя нажать на некий элемент на странице сайта? Суть в следующем: есть сайт на котором надо выбрать USD из открывающегося списка валют. Само выпадающее окно аймакросом открывается. Но вот нажать на USD просто так не получается. На скрине видно наглядно, стрелкой отметил: скрытый текст Думаю надо через код элемента делать команду. Но я не очень разбираюсь как из кода элемента создать правильную команду. Помогите пожалуйста. Вот скопированный код элемента (на скрине он синим фоном выделен): скрытый текст Выделить код Код:<span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="true" tabindex="0" aria-labelledby="select2-currency-container" aria-owns="select2-currency-results" aria-activedescendant="select2-currency-result-db1c-USD"><span class="select2-selection__rendered" id="select2-currency-container" role="textbox" aria-readonly="true" title="USD">USD</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span> |
Egorushka1974 > 20-10-2020 10:25:21 |
Герман пишет
попробуй так скрытый текст Выделить код Код:window.document.querySelector('span[id="select2-currency-container"][class="select2-selection_rendered"]').click(); а вообще сайт посмотреть бы, тогда уже конкретно написать можно |
Egorushka1974 > 27-10-2020 23:44:46 |
Добрый вечер. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. в поле ввода под From нужно вводить объем, например 1000 перебрал все стандартные способы типа скрытый текст Выделить код Код:window.document.getElementById("swap-currency-input").querySelector('.sc-kQsIoO.deMLGG.token-amount-input').value=1000; window.document.getElementById("swap-currency-input").querySelector('input[class="sc-kQsIoO deMLGG token-amount-input"]').value=1000; let a = window.document.getElementById("swap-currency-input"); a.getElementsByTagName('div')[0].getElementsByTagName('input')[0].value = 1000; и прочее нифига не помогает, цифра в поле вводится, но не отправляется, не принимается, более того, через некоторое время из поля исчезает. менял, удалял атрибуты здесь скрытый текст Выделить код Код:<input class="sc-kQsIoO deMLGG token-amount-input" inputmode="decimal" title="Token Amount" autocomplete="off" autocorrect="off" type="text" pattern="^[0-9]*[.,]?[0-9]*$" placeholder="0.0" minlength="1" maxlength="79" spellcheck="false" value=""> тоже не помогает, при выбранных токенах в верхнем и нижнем полях, введение цифры в поле From, должно давать изменение значений в поле To. Помогите решить задачу, на чистом JS. Спасибо. |
Алим > 09-11-2020 23:48:47 |
Всем привет. Столкнулся с проблемкой. Ссылка на страницу редактор скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Справа нажимаем - настроить канал. Не получается загрузить обложку и аватарку через imacros В исходном коде нет INPUT:FILE Кто нибудь сталкивался с таким? |
Gergi > 04-12-2020 17:22:16 |
Всем привет скрытый текст Выделить код Код:for(i=0;i<=2;i++){ for(a=0;a<=11;a++){ iimPlayCode('SET !EXTRACT 202012'+i+''+a+'-TEST\nSAVEAS TYPE=EXTRACT FOLDER=F:\\20201205-TEST\\ FILE=202012'+i+''+a+'-TEST.txt'); } } |
Азат55555 > 10-12-2020 13:48:52 |
Как правильно зашифровать скрипт, чтобы у всех скрипт работал, может посоветуете сайт или код? Пробовал много чего, у меня работает, у других нет. |
dim222 > 10-12-2020 17:21:23 |
Азат55555 |
awertyq > 13-12-2020 09:15:52 |
Доброго времени суток! Мне нужно в imacros записать выбор нескольких элементов плагина Chosen со страницы https://harvesthq.github.io/chosen/ по типу списка Multiple Select на странице (правое окошко). |
Герман > 23-12-2020 16:59:52 |
Доброго времени суток! Подскажите пожалуйста как сделать чтоб картинки сохранялись не так, что последующая удаляет предыдущую, а чтоб сохранялись все. скрытый текст Выделить код Код:ONDOWNLOAD FOLDER=C:\img\ FILE=screen.png WAIT SECONDS=1 TAG POS=1 TYPE=DIV ATTR=ID:adcopy-puzzle-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT Как сделать чтоб новая картинка не перезаписывала старую, а сохранялась бы как новая (другая) и при этом старая не удалялась? А то получается что новая сохраняется вместо старой. |
InfSub > 23-12-2020 17:15:05 |
Герман скрытый текст Выделить код Код:ONDOWNLOAD FOLDER=C:\img\ FILE=+_image_{{!NOW:yyyymmdd_hhnnss}} TAG POS=1 TYPE=DIV ATTR=ID:adcopy-puzzle-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT |
Герман > 01-01-2021 16:47:27 |
InfSub |
Герман > 08-01-2021 05:53:22 |
Приветствую! Подскажите пожалуйста, реально ли реализовать такую задумку: js-скрипт работает в цикле, заходя в аккаунты из списка и выполняя определенные задания. Список длинный. При этом со временем работы скрипта забивается память оперативная и браузера. Помогает перезагрузка браузера. Но при этом цикл, естественно, завершается. Можно ли сделать так, чтоб после перезагрузки браузера скрипт включался снова в цикле и продолжал работу далее в цикле, но именно с того момента, с того аккаунта из списка на котором остановился для перезагрузки? То есть список аккаунтов 1000 логин/паролей. Скрипт отрабатывая первую сотню делает перезагрузку браузера. Потом браузер запускается и продолжает далее цикл уже со второй сотни из этого же списка. После отработки другой сотни снова перезагружается и так далее. Когда таким образом отработает весь список (1000 аккаунтов), то снова всё начинается по кругу. Можно ли так как-нибудь реализовать? |
InfSub > 08-01-2021 12:06:01 |
Герман |
Герман > 08-01-2021 14:15:39 |
InfSub пишет
На этом форуме не удалось найти пример как это реализовать, нашёл в интернете: скрытый текст Выделить код Код:var strlog="тестовое<SP>слово"; var logfile; logfile = 'SET !EXTRACT NULL' + '\n'; logfile += 'SET !EXTRACT '+ strlog + '\n'; logfile += 'SAVEAS TYPE=EXTRACT FOLDER=* FILE=LOG.txt' + '\n'; iimPlayCode(logfile); Но этот код выполняет только запись в файл. Если файла не существует, то он создастся сам. Если существует - то он будет дополняться, но не перезаписываться. Для перезаписи нужно придумывать обходные пути, например, с использованием процедуры удаления файла и создания нового, или же с ява скриптом. А как сделать чтоб файл перезаписывался или удалался? А то он будет дополняться, а это не годится для нашего случая. |
PRESIDENT > 08-01-2021 15:52:22 |
Герман скрытый текст код публикуется под спойлером, в тегах code InfSub Флуд не по теме Ух давно я тут не был, думал уже и аккаунт удалили. С праздничками всех ! У меня тут очередной экзамен, и в его рамках работа с проектом. Почти все одногруппники взялись за фильмотеки Movi imdb, Я хочу что то по оригинальнее. Помнится тут было много народу, кто криптой барыжничал, |
Gergi > 09-01-2021 14:21:16 |
скрытый текст Выделить код Код:var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); var Cc=Components.classes, Ci=Components.interfaces; var prf=Cc['@mozilla.org/preferences-service;1'].getService(Ci.nsIPrefBranch); var str=Cc['@mozilla.org/supports-string;1'].createInstance(Ci.nsISupportsString); str.data='Mozilla/5.0 (Windows NT 6.3; rv:3.0) Gecko/20100101 Firefox/3.0'; prf.setComplexValue('general.useragent.override',Ci.nsISupportsString,str); Подскажите как реализовать этот кусок кода в IIM |
dim222 > 09-01-2021 22:04:27 |
PRESIDENT 09-01-2021 22:08:43 |
oleggolk007 > 15-01-2021 03:36:22 |
Здравствуйте! скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. ... И еще буду благодарен если кто поможет с этим: скрытый текст Выделить код Код:VERSION BUILD=8970419 RECORDER=FX TAB T=1 URL GOTO=https://www.shutterstock.com/ru/search/dog EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>MAIN>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV>DIV>A" BUTTON=1 EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>MAIN>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(3)>DIV>DIV>A" BUTTON=1 EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(2)>MAIN>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(4)>DIV>DIV>A" BUTTON=1 Не открывается почему-то и выдает ошибку: скрытый текст
Благодарен за любую помощь. У меня iMacros 8.9.7 Firefox 56, винда 10 home |
InfSub > 15-01-2021 12:59:42 |
oleggolk007 пишет
не найден выбранный селектор, скорее всего вы что-то не верно записали, либо попробуйте использовать иной тип записи макроса oleggolk007 пишет
да, но не советую использовать много вкладок, во всем нужна мера |
oleggolk007 > 18-01-2021 02:17:49 |
InfSub пишет
А вы (или другой кто) не могли бы помочь (платно) настроить так скрипт, чтобы он открывал в новых вкладках несколько (например пять) первых картинок. Например на странице https://www.shutterstock.com/ru/search/dog. Я уже выдохся и разными типами и браузерами и версиями аймакроса. А очень нужно. У меня iMacros 8.9.7 Firefox 56, винда 10 home |
InfSub > 18-01-2021 16:07:58 |
oleggolk007 пишет
вы бы хоть комментарии написали что вы делаете этим кодом, или предлагаете гадать? |
Азат55555 > 28-01-2021 11:17:51 |
Здравствуйте, после входа в аккаунт на сайте скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Адреса сайтов и ссылки на сторонние ресурсы, публикуются в тегах noindex под спойлером Замечание InfSub |
Герман > 29-01-2021 11:17:55 |
Привет! Подскажите работает ли вообще-то пример скрипта записи файла от нагибалки, который выложен тут скриншот У меня этот его пример не работает, выдаёт ошибку. вот сам код код тут Выделить код Код:var saveToFile = function (fileName, text) { var fileDescriptor = imns.FIO.openNode(fileName); imns.FIO.writeTextFile(fileDescriptor, text); } // Пример использования saveToFile("C:\\BOTS\\iMacros\\text.txt", "текст для сохранения"); Подскажите в чём причина неработоспособности скрипта? Не хочет он сохранять текст в файл и всё тут скрин ошибки PS версия аймакроса у меня 8.9.7 |
dosh > 06-02-2021 15:40:38 |
Здравствуйте. |
InfSub > 18-02-2021 12:42:49 |
dosh |
InfSub > 18-02-2021 13:25:11 |
Герман Герман пишет
И? какая версия FF? Герман пишет
такой пусть существует? права на запись в папку есть? файл закрыт или открыт в каком-либо редакторе? |
Герман > 23-02-2021 23:30:41 |
InfSub |
InfSub > 24-02-2021 17:50:01 |
Герман пишет
да, файл создается автоматически, в отличии от пути |
in2fire > 25-02-2021 14:37:30 |
Здравствуйте. Раньше писал пару скриптов для своих задач, но помню что по какой-то причине их приходилось запускать на старой версии firefox, на котором в данный момент не получается открыть нужный мне сайт (он подвисает). Можно ли сейчас на актуальной версии firefox запускать скрипты iim и js? Они у меня в файлах, а в firefox сейчас какая-то непонятная демо версия и не понятно, можно ли там подгрузить эти файлы как-то. У меня не получается их добавить туда. Я даже не знаю как это делается в новой версии. В FAQ информация вероятно уже устарела, как сейчас обстоят дела с этим? Не пойму где в новой версии хранятся эти папки с current.iim и Demo-Firefox, чтобы туда закинуть мои скрипты и запустить их |
karginaolga > 27-02-2021 14:28:37 |
in2fire |
in2fire > 27-02-2021 20:21:27 |
karginaolga пишет
Вообще не понял что вы написали. Можно подробнее о том, что вы имеете в виду? |
generrral > 01-03-2021 12:15:56 |
Приветствую. скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Firefox 52.3.0 (32-bit), imacros 8.9.7 |
hleshka > 03-03-2021 12:40:58 |
Здравствуйте! скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Нужно перейти по ссылке и на изображении нажать "Сохранить как" Не получается написать рабочий скрипт... Пытался следующим способом, но он не срабатывает ( скрытый текст Выделить код Код:URL GOTO= https://archival-services.gov.ge/fonds/welcome/aidFiles/82967/0 ONDOWNLOAD FOLDER=C:\Pictures FILE=+{{!NOW:ddmmyyyy}} WAIT=YES TAG POS=1 TYPE=IMG ATTR=SRC:4AAQSkZJRgABAQEAyADIAAD/4RDARXhpZgAATU0AKgAAAAgABQES* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT Подскажите, пожалуйста, каким способом можно вытянуть картинку? InfSub |
googlenoob > 03-03-2021 15:51:43 |
Так наверно! скрытый текст код публикуется под спойлером, в тегах code InfSub |
hleshka > 03-03-2021 19:54:50 |
googlenoob К сожалению всё равно не получается ( InfSub |
generrral > 04-03-2021 10:01:49 |
hleshka пишет
У нагибаки разобран способ скачивания через менеджер закачек браузера скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
InfSub > 22-03-2021 16:20:18 |
Азат55555 |
Азат55555 > 22-03-2021 22:57:26 |
InfSub пишет
В двух словах, в xml документ закинут html, как мне связать их, чтобы querySelector увидел html, когда я попытался получить css путь к html, то получил только html, скрипт просто html не видит, думаю нужно, связать с xml? И вообще когда я нажал "Исходный код страницы" там показан только xml. |
InfSub > 23-03-2021 13:05:48 |
Азат55555 пишет
опишите проблему на форуме, а не в ЛС, вам ответит кто-то из форумчан, скорее всего вам нужно менять настройки через .setAttribute() а не пытаться образно говоря "ткнуть в них мышкой" |
Deriax > 20-04-2021 10:20:26 |
скрытый текст У меня возникает время от времени неполадка с макросами и папками аймакроса, они исчезают как на скрине как исправить эту неполадку? Аймакрос 8.9.7. Пробовал: менять папки, в настройках аймакроса (где лежат скрипты и др.) и потом заново возвращать путь к папке, это не помогло. |
Алим > 25-04-2021 13:20:10 |
На сайте - ответы майл, не могу отправить комментарий под комментарий давшему ответ, из-за того, что кнопка - "Комментировать" становится активным, только после ввода текста с клавиатуры. Только в режиме записи event вводит, но через него не хочу, так как не всегда срабатывает, когда много комментариев. Хочется использовать js. Через js вставляет текст, но даже после вставки и клика на поле ввода текста, кнопка "Комментировать" не становится активной. Либо надо через CTRL+V или чтобы печатал текст через js. |
Алим > 28-04-2021 19:14:44 |
Как удалить из массива повторяющиеся друг за другам объекты? скрытый текст Выделить код Код:var массив = ["Icarus66","Ruka767","Icarus66","Icarus66","Ruka767","Ruka767","Ruka767", "Icarus66","Ruka767","Icarus66","Icarus66","Icarus66","Ruka767","Icarus66"] alert(массив) Чтобы стало вот так скрытый текст Выделить код Код:var массив = ["Icarus66","Ruka767","Icarus66","Ruka767","Icarus66","Ruka767","Icarus66","Ruka767","Icarus66"] Сам сделал уже) скрытый текст Выделить код Код:var массив = ["Icarus66","Ruka767","Icarus66","Icarus66","Ruka767","Ruka767","Ruka767","Icarus66", "Ruka767","Icarus66","Icarus66","Icarus66","Ruka767","Icarus66"] var массив2 = [] for(m=0;m<массив.length;m++){ if(массив[m] != массив[m+1]){ массив2.push(массив[m]) } } alert(массив2) Код публикуется в тега code под спойлером InfSub |
InfSub > 28-04-2021 21:25:21 |
Алим |
udalov > 16-05-2021 11:46:51 |
оффтоп Здравствуйте. Подскажите, а какая сейчас версия FF и imasros наиболее полнЫ функционально |
dim222 > 18-05-2021 19:46:13 |
udalov пишет
Всё по старому уже давно!!! |
dim222 > 03-06-2021 21:50:03 |
Squatter |
Squatter > 04-06-2021 08:09:11 |
Погугли по тегу "P2P Firefox". Вот, допустим, чат для локалки скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. |
dim222 > 04-06-2021 10:17:35 |
Squatter пишет
Спасибо, что отозвался!!! |
dosh > 03-07-2021 12:05:12 |
здравствуйте. |
Герман > 14-07-2021 22:17:49 |
del |
Senflex > 18-07-2021 16:37:31 |
Как исправить баг аймакроса насчёт остановки скрипта, вот нажал я на кнопку стоп, а аймакрос не останавливается. В настройках imacros показ js включён. |
Герман > 19-07-2021 17:09:26 |
Del |
Denzar > 03-10-2021 18:32:03 |
Здравствуйте! Ребята, подскажите пожалуйста как записать аймакрос так, чтоб было нажатие на выбор страны на сайте Алиэкспресс. скриншот Получается так, что когда нажимаю на окно выбора страны, то открывается список и там можно выбрать страну. Но так получается, только если вручную делаю. А когда записал аймакрос, и включаю воспроизведение, то список даже не открывается, хотя команда нажатия вроде как срабатывает. На скрине видно синим цветом прямоугольник от команды нажатия аймакросом. Пробовал разные варианты записи, но ничего не даёт нужного эффекта. Не открывается список выбора стран и всё тут. Не знаю что уже делать. Подскажите пожалуйста, кто в теме? |
Denzar > 04-10-2021 11:07:13 |
Вот что написано в коде страницы на элемент который надо нажимать скрытый текст Там среди прочего есть javascript:void(0), думаю это связано и надо это как-то учитывать. Иначе список стран не выпадает. Хоть применял разные команды нажатия; и через EVENT и другие: 4 способа нажатия Выделить код Код:TAG POS=1 TYPE=div ATTR=class:ng-item-wrap<SP>ng-item<SP>ng-switcher TAG POS=1 TYPE=div ATTR=data-role:region-pannel TAG POS=1 TYPE=A ATTR=ID:switcher-info EVENT TYPE=CLICK SELECTOR="#switcher-info" BUTTON=0 И они все рабочие, но при этом список всё равно не раскрывается. Подскажите пожалуйста команду, как записать, чтоб выпадающий список раскрывался? надо чтоб список вот так раскрывался |
Denzar > 04-10-2021 16:35:19 |
Есть предположение, что тут надо применять функцию имитации мыши с помощью js скрипта. Функцию такую я нашёл, но как конкретно её применять, подскажите пожалуйста Функция имитации мыши Выделить код Код:/***-= Функция имитации мыши =-***/ function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } |
PRESIDENT > 04-10-2021 22:28:11 |
Попробуй так Выделить код Код:TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" 'TAG POS=1 TYPE=li ATTR=data-code:"by" |
Denzar > 04-10-2021 23:17:55 |
PRESIDENT пишет
Попробовал, не получается все равно, не раскрывается выпадающий список. Однако есть такой нюанс (он и раньше был), когда работает скрипт, когда страница почти загрузилась и в этот момент нажать в ручную мышью куда нибудь на страницу (только не на ссылку, чтоб по ней не перейти), то после этого, когда страница загрузится и далее скрипт нажимает на список выпадающих стран, то этот список выпадает и страны открываются, можно их выбирать. Но если вручную мышью не клацать, то список стран так и не открывается чисто скриптом. |
Алим > 05-10-2021 10:51:40 |
Как сделать такой цикл на js ? скрытый текст Выделить код Код:// Первый цикл +1 = TAG POS=1 // Второй цикл +2 = TAG POS=3 // Третий цикл +3 = TAG POS=6 // Четвёртый цикл +4 = TAG POS=10 Сделал. Оставлю здесь. скрытый текст Выделить код Код:var loop = 1 var myArray = [] for(i=0;i<100;i++){ myArray.push(loop) var myCycle = myArray.map(y=>x+=y, x=0).reverse()[0] alert(myCycle) loop++ } исправлено Не совсем то, что я хотел. Всё ровно нужна помощь. скрытый текст Выделить код Код:// Первый цикл TAG POS=33 // +1 // Второй цикл TAG POS=34 // +2 // Третий цикл TAG POS=36 // +3 // Четвёртый цикл TAG POS=39 не подавайте дурной пример, не используйте русские наименования переменных при кодинге, не превращайте JS в недоязык программирования от 1С InfSub |
Denzar > 05-10-2021 12:10:40 |
Вот этот код в принципе рабочий скрытый текст но он не открывает выпадающий список стран если сам по себе в аймакросе работает. А вот если до того как страница обновилась, нажать или просто провести мышью по странице сайта, то тогда список выпадающих стран раскрывается от этой команды. А как сделать так, чтоб список стран выпадал только от работы аймакроса... непонятно |
Squatter > 05-10-2021 16:59:23 |
Denzar Что вы голову ломаете? Эти параметры записываются в сессионную куку с именем aep_usuc_f Запись своего значения в куку по имени или по домену, как угодно, делается так скрытый текст Выделить код Код:var { Services } = Components.utils.import("resource://gre/modules/Services.jsm"); Services.cookies.add(".aliexpress.ru", "/", "aep_usuc_f", "b_locale=es_ES&c_tp=RSD&city=917477776580000000&province=917477770000000000®ion=RU&site=rus", false, false, true, Date.now()); всё что в кавычках начиная со слова b_locale заменить на свои значения Алим скрытый текст |
Denzar > 05-10-2021 18:50:12 |
Squatter Спасибо огромное! Всё получилось! Работает как надо! PS Не. Всё равно не так как надо. Приходится всё равно открывать выпадающий список стран и нажимать там кнопку SAVE. И когда страница после этого перезагрузится, то купон становится таким номиналом какой есть на самом деле. Поэтому тут мне всё же желательнее было бы такой код в ява-скрипте, который бы нажимал так, чтоб выпадающее окно со списком стран всё таки выпадало. Но как это сделать... непонятно |
Алим > 05-10-2021 20:42:32 |
Squatter Работает, благодарю! |
Denzar > 06-10-2021 10:37:16 |
А может стоит применить функцию имитации мыши? Есть такая, нашёл в интернете. Функция имитации мыши Выделить код Код:/***-= Функция имитации мыши =-***/ function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } Может с её помощью было бы полноценное нажатие на выпадающий список стран/языков/валют и этот список раскрылся бы? Или вряд ли? А для чего вообще применяется такая функция имитации мыши, если казалось бы, можно просто нажимать на нужный элемент/селектор? И можно ли вообще эту функцию задействовать в нашем случае для нажатия на список, чтоб он открывался? |
PRESIDENT > 06-10-2021 19:27:54 |
Denzar Да куда ты лезешь, JS это для уровня/модуса бога, тебе такое рановато. Ты лучше потрать немного времени с обычными командами имакроса разберись, сядь один раз, разберись как оно работает... скрытый текст Посмотри код элемента там будет что то вроде этого <a id="switcher-info" data-role="menu" class="switcher-info notranslate" rel="nofollow" href="javascript:void(0)" data-spm-anchor-id="a2g0o.home.1000001.12"> потом сюда подставь нужный тип и атрибут TYPE=... ATTR=... это всё команды для одного и того же элемента TAG POS=1 TYPE=A ATTR=id:"switcher-info" обрати внимание что знак ( = ) заменяется на ( : ) двоеточие если на сайте несколько элементов с похожими атрибутами то Я не знаю чем тебе этот код не угодил Выделить код Код:TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 'TAG POS=1 TYPE=BUTTON ATTR=TYPE:button Если его один раз запускаешь окно выбора открывается Ты запусти код и если окно закрылось то раскрой его и посмотри правильно ли выбрало страну. Модер не надо этот пост править. |
Denzar > 06-10-2021 21:15:35 |
PRESIDENT пишет
тут ссылка на видео, специально записанное с экрана, как работает этот код. Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Вот сам код Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. PS видео лучше скачать и глядеть на компе в оригинале. На яндекс-диске оно воспроизводится не очень качественно. PPS попробуй пожалуйста воспроизвести у себя этот код. Там всего лишь добавлена команда CLEAR и ссылка на сайт Али по которой надо переходить. Выделить код Код:CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button |
Denzar > 07-10-2021 07:17:16 |
PRESIDENT пишет
А ты попробуй с новой чистой страницы, точнее в новой чистой вкладке браузера загрузить страницу. И список выбора стран не откроется. код загружающий страницу сайта в новой вкладке браузера Выделить код Код:TAB CLOSEALLOTHERS TAB OPEN TAB T=2 TAB T=1 TAB CLOSE WAIT SECONDS=2 CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button |
dmitriy8720 > 21-10-2021 17:07:30 |
Всем привет, подскажите, как импортировать текст из файла и вставить, чтобы отправить, много вариантов с нета пробывал, но текст не вставляется, просто нажимает и все,есть 2 файла в одном текст, в другом список групп. скрытый текст Выделить код Код:SET !REPLAYSPEED MEDIUM SET !ERRORIGNORE YES SET !ERRORCONTINUE YES SET !EXTRACT_TEST_POPUP NO SET !DATASOURCE C:\gruppy.txt SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} SET !DATASOURCE C:\tekst.csv SET !DATASOURCE_LINE {{!LOOP}} WAIT SECONDS=2 EVENT TYPE=CLICK SELECTOR="#ng-app>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV>DIV>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(5)" BUTTON=0 |
Алим > 21-10-2021 23:53:31 |
dmitriy8720 скрытый текст Выделить код Код:SET !LOOP 1 SET !REPLAYSPEED MEDIUM SET !ERRORIGNORE YES SET !DATASOURCE C:\gruppy.txt SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} SET !DATASOURCE C:\tekst.csv SET !DATASOURCE_LINE {{!LOOP}} SET !EXTRACT {{!COL1}} WAIT SECONDS=2 TAG POS=1 TYPE=* ATTR=* CONTENT={{!EXTRACT}} |
dmitriy8720 > 22-10-2021 03:50:26 |
Алим пишет
Не помогло, все по прежнему, из файла текст не публикует. |
dmitriy8720 > 22-10-2021 14:24:06 |
Работает только так, но публикует, только первую строку, а строк больше 30, в файле.
|
googlenoob > 23-10-2021 09:06:35 |
dmitriy8720 пишет
скрытый текст Выделить код Код:SET !VAR6 EVAL("var randomName=Math.floor(Math.random()*2267 + 1); randomName;") SET !DATASOURCE baza-koment.txt SET !DATASOURCE_LINE {{!VAR6}} ADD !EXTRACT {{!COL1}} SET !VAR7 {{!EXTRACT}} SET !EXTRACT NULL TAG POS=1 TYPE=TEXTAREA FORM=ID:acform ATTR=ID:message CONTENT={{!VAR7}} Текст в файле должен быть в “” и в тексте не должно быть “” и файл должен читаться построчно, к примеру, если в вашем файле 30 строк, то там, куда вы его положите он должен растянутся в одну строку и так считываться я использую Bred3 постинг идет, как надо за исключением, если сам ресурс ограничивает количество символов при комментировании. |
dmitriy8720 > 23-10-2021 15:20:29 |
googlenoob] |
googlenoob > 23-10-2021 16:22:20 |
dmitriy8720 пишет
Вы в своем тексте меняйте, на что то другое или просто заменяете кавычки, к примеру, на – здесь текст – или вроде можно заменить на одинарные в тексте ‘ здесь текст, что должен быть в кавычках ’ я у себя удалял строки, что выдавали ошибку то бишь не выводился текст полностью или менял текст на корректный. |
dmitriy8720 > 23-10-2021 18:31:12 |
googlenoob пишет
Можно ли, как то ограничить, видимые строки при публикации? например, чтобы в первой строке была двойная кавычка и в последней, но чтобы публиковал со 2-46 строку. |
dmitriy8720 > 24-10-2021 16:03:59 |
В одной соц.сети, этот код работает скрытый текст А вот, этот код, везде работает скрытый текст |
mnemon84 > 25-10-2021 18:31:59 |
Добрый день! Может кто подскажет как из извлечённого !EXTRACT взять только целое число: скрытый текст Выделить код Код:TAG POS=1 TYPE=A ATTR=TXT:* extract=txt SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";") PROMPT {{!VAR1}} |
mnemon84 > 27-10-2021 03:34:34 |
Все понял, отстал, сам справился: скрытый текст Выделить код Код:TAG POS=1 TYPE=A ATTR=TXT:* extract=txt SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; s=s.replace(/\\D/g,\"\"); s=parseInt(s);") PROMPT {{!VAR1}} |
Denzar > 23-01-2022 15:04:11 |
Здравствуйте! Подскажите как вырезать всё лишнее которое сохраняется с помощью этого кода: скрытый текст Выделить код Код:var iP=iimPlayCode, f1='FRAME NAME=ifmail; iP(f1+'TAG POS=1 TYPE=STRONG ATTR=TXT:Please<SP>enter<SP>the<SP>following<SP>code<SP>* EXTRACT=TXT'); a=iimGetLastExtract(); alert(+a); Сохраняет вот что: скрытый текст а надо чтоб всё удалило и оставило только число (495212). Какую команду для вырезания лишнего надо применять вместе с iimGetLastExtract(), подскажите пожалуйста. |
InfSub > 23-01-2022 17:12:35 |
Denzar скрытый текст |
Denzar > 23-01-2022 18:26:30 |
InfSub Ух ты! Классно! Работает! Спасибо большое! скрытый текст В общем оказывается вон как надо было. Спасибо! |
Denzar > 26-01-2022 14:15:14 |
Подскажите пожалуйста как сохранять в файл так, чтоб каждый раз новое содержимое переписывало старое? Например этот код сохраняет всё с новой строки скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DD ATTR=TXT:* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=numer.txt'); а можно ли как-то сохранять, чтоб старое удалялось при сохранении нового? |
Denzar > 26-01-2022 22:34:27 |
На сайте Нагибаки нашёл вроде то, что надо скрытый текст Но так и не понял, а как там в файл текст сохранять тот, который надо, а не то, что записано в кавычках ("текст для сохранения"). Подскажите, как этим скриптом нужный текст для сохранения добавлять? Например на странице сайте есть текст который надо сохранить. Как его этим скриптом сохранять? |
InfSub > 26-01-2022 23:14:09 |
Denzar 26-01-2022 23:17:17 Denzar пишет
так переменную, в которой выдернутый с сайта текст, подставь вместо "текст для сохранения" - элементарно же, если этого не понимаешь - читай основы javascript иначе будешь велосипед изобретать |
PRESIDENT > 20-02-2022 21:55:44 |
Приветствую тех немногих, кто ещё тут бывает. Я тут молодость вспомнил, хочу одну задачу с помощью имакроса решить. Подскажите нормальную версию имакроса (и где скачать) Тестил на мазиле 55.0.2 и 56.0.2 |
InfSub > 22-02-2022 15:33:03 |
PRESIDENT |
PRESIDENT > 22-02-2022 23:41:03 |
InfSub |
Denzar > 18-06-2022 18:22:13 |
PRESIDENT пишет
Приветствую! Я как раз один из тех кто тут ещё бывает. Столкнулся с казалось бы простой, но в то же время непонятной задачей: на сайте при вводе пароля приходится использовать для записи скрипта режим EVENT (потому что при обычном способе записи/ввода пароля оно не срабатывает). Ну да это ладно, EVENT так EVENT. Но прикол в том, что даже при использовании команды EVENT пароль по нормальному срабатывает только когда браузер развёрнут. А если браузер свернуть, то тогда при работе скрипта при вводе пароля и нажатии ввод оно пишет "некорректный пароль". Приходится постоянно держать браузер открытым (развёрнутым), тогда всё норм работает. Но это оооочень неудобно. Вот как это побороть? непонятно |
praktik > 04-07-2022 10:46:04 |
Denzar пишет
могу предположить, что макрос записан с использованием инструкций EVENT TYPE=MOUSE... POINT их надо переписать, используя XPATH Выделить код Код:EVENT TYPE=CLICK SELECTOR="#Viewport>DIV>DIV:nth-of-type(6)>DIV>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>SPAN>SPAN" BUTTON=0 |
Denzar > 25-07-2022 05:33:54 |
Здравствуйте! Помогите пожалуйста подкорректировать команду извлекающую код из текста. Вот такой текст Нужен только код подтверждения. Но при использовании команды q=iimGetExtract().match(/\d+/g).join(''); оно все числа из текста извлекает, получается так: скрытый текст А надо извлечь только последние 6 чисел, которые и есть код. Как можно это решить, подскажите пожалуйста? |
Denzar > 25-07-2022 13:57:12 |
Если использовать такой код, скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:СМС<SP>от:<SP>YahooДата<SP>СМС:* EXTRACT=TXT'); q=iimGetLastExtract().match(/\d+/g); iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=NAME:qrf ATTR=NAME:body CONTENT='+q); то выдаст числа с запятыми скрытый текст код здесь из себя представляет последнее 5-тизначное число, оно-то и надо. Но как его извлечь отдельно? |
Denzar > 25-07-2022 14:59:12 |
Denzar пишет
Нашёл решение как извлечь отдельно. Это делается с помощью квантификаторов. Примерно так: Но теперь осталась загвоздка как числа в кавычках заменить на переменную q почти готовый код Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:СМС<SP>от:<SP>YahooKДата<SP>СМС:* EXTRACT=TXT'); q=iimGetLastExtract().match(/\d+/g); iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=NAME:qrf ATTR=NAME:body CONTENT='+q); alert( "25,2022,10,17,02,78644".match(/\d{5}/) ); Подскажите как числа что в кавычках "25,2022,10,17,02,78644" заменить на переменную? 25-07-2022 15:24:30 Подскажите как их объединить в один (если так можно)? |
Алим > 03-08-2022 20:59:47 |
Хочу спарсить данные в формате json, но вот не задача - history подсвечивается голобум цветом. скрытый текст |
dim222 > 04-08-2022 10:15:35 |
window.console.log(JSON.parse(b.response)); |
Denzar > 29-08-2022 21:02:30 |
del |
Denzar > 31-08-2022 12:50:27 |
Здравствуйте! Подскажите как написать простой счётчик в цикле для определенной фразы? То есть, работает скрипт в цикле и при нахождении на странице определенной фразы останавливается. Но не сразу надо, а только после определенного количества повторов появления этой фразы. Вот простой пример скрипта, надо там только счётчик как-то добавить скрытый текст Выделить код Код:for(i=1; i<=100; i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); f=iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация'); if(f>0) // тут должен быть счётчик для данной фразы // break; } То есть надо так сделать, чтоб только после 3-х раз появления на странице фразы "Полезная информация" срабатывала команда break 31-08-2022 12:59:08 |
Алим > 17-09-2022 15:16:52 |
Denzar скрытый текст Выделить код Код:for(i=1;i<=100;i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); var y = 0 for(;;){ if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация')>0){ if(3 == y){ y++ break } } iimPlayCode('WAIT SECONDS=1') } } |
Алим > 17-09-2022 16:22:51 |
В одноклассниках, в группе, открываю пост и хочу его отредактировать и не получается вывести меню с надписью - Редактировать скрытый текст В мобильной версии не вариант, так как после вставики ссылки на сайт, нужно, чтобы подгружалась картинка. |
Denzar > 20-09-2022 16:01:04 |
Алим пишет
А как этот скрипт работает? Он же не останавливается после 3 раз считывания искомой фразы. Что-то я вообще не понял что это за скрипт получился. Он точно правильный? |
Алим > 27-09-2022 23:09:30 |
Denzar скрытый текст Выделить код Код:for(i=1;i<=100;i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); var y = 0 for(;;){ if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация')>0){ y++ if(3 == y){break} } iimPlayCode('WAIT SECONDS=1') } } Исправил. Человеческий фактор. |
InfSub > 28-09-2022 10:44:28 |
Алим |
udalov > 31-10-2022 19:27:02 |
Всем доброго времени суток! Подскажите, пожалуйста, imacros 8.9.7 на какой новой версии ФФ будет нормально работать, со всеми функциями и командами? У меня сейчас Mozilla Firefox 56.0.2 , но почему-то часть функционала Вконтакта и других некоторых сайтов не работает... |
dim222 > 01-11-2022 15:34:14 |
udalov пишет
Эта последняя на которой работает данная верия Imacros.Но лично сам использую 55.0.3 |
Denzar > 03-11-2022 14:23:37 |
Алим пишет
Так а всё равно ж ничего не изменилось. Как не работало, так и не работает. |
Алим > 15-11-2022 13:53:18 |
Denzar |
Алим > 15-11-2022 14:47:03 |
Как сделать наведение мышки через js на imacros ? На сайте одноклассников в группе в разделе участников, если навести курсор мыши на аватарку участника, то всплывает меню в котором находяться действия - пригласить в группу и т.д. Раньше с помощью команды imacros - CONTENT=EVENT:MOUSEOVER без js всё работало, а сейчас нет. скрытый текст |
JamesGoodwin > 16-11-2022 11:41:37 |
Алим пишет
скрытый текст Выделить код Код:window.document.getElementsByClassName('user-grid-card_img')[1].dispatchEvent(new window.Event('mouseenter')); |
Алим > 17-11-2022 09:08:07 |
JamesGoodwin |
Denzar > 25-11-2022 17:04:05 |
Алим пишет
Он продолжает гнать 100 раз без остановки. После 3-х раз ничего не прерывается. 25-11-2022 17:06:15 InfSub пишет
|
Алим > 26-11-2022 19:17:58 |
Не получается выбрать элемент по названию из выподающего списка. Подставляю переменную в math() через RegExp(), но мне нужно найти 5 сиволов ..... до данного элемента (в котором и будет код элемента - цифры). скрытый текст Выделить код Код:var rubrika = "Авто" var pattern = new RegExp(rubrika) alert(window.document.querySelector("#subselect_1").innerHTML.match('.....'+pattern, 'i')) скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. регистрироваться ничего не надо нажимаем на - Рубрикатор и дополнительная информация ------ Тким образом я могу сделать через js и он работает, но тогда название элемента - Авто, я уже не могу подставить в match() в виде переменной скрытый текст Выделить код Код:var код = window.document.querySelector("#subselect_1").innerHTML .match(/.....Авто/ig).toString().match(/\d+/ig) alert(код) iimPlayCode('TAG POS=1 TYPE=SELECT ATTR=NAME:rub CONTENT=%'+код+'') ------ скрытый текст Выделить код Код:var рубрика = "Авто" iimPlayCode("TAG POS=1 TYPE=SELECT ATTR=NAME:rub EXTRACT=TXTALL"); var total = iimGetExtract().split("[OPTION]") for(i=0;i<total.length;i++){ var код = window.document.querySelector("#subselect_1").innerHTML.split("value")[i+1] if(код.match(RegExp(рубрика,'i'))){ var код = код.match(/\d+/).toString() break } } iimPlayCode('TAG POS=1 TYPE=SELECT ATTR=NAME:rub CONTENT=%'+код+'') Если есть у кого решение - как сделать так, как я писал выше, буду признателен, если оставите. |
JamesGoodwin > 27-11-2022 11:08:07 |
Алим пишет
скрытый текст var rubrika = "Авто" var pattern = new RegExp('.....'+rubrika) var код = window.document.querySelector("#subselect_1").innerHTML.match(pattern, 'i').toString().match(/\d+/ig) iimPlayCode('TAG POS=1 TYPE=SELECT ATTR=NAME:rub CONTENT=%'+код+'') |
Алим > 27-11-2022 17:17:43 |
JamesGoodwin |
Denzar > 04-12-2022 22:18:57 |
Здравствуйте! Люди, подскажите пожалуйста какую команду надо применить чтоб извлечь из текста пароль буквенно-числовой? Вот такой текст Выделить код Код:Входящее - wildexpress (Контакт не определен) Текст сообщения: j9gu5 (04.12.22 20:57) Извлекать тут надо j9gu5 . скрытый текст Что здесь лучше применить? Ведь тут и числа и буквы в одном пароле. Команда типа iimGetLastExtract().match(/\d+/g); не годится, тут надо что-то иное. Но что конкретно, подскажите, кто в теме. |
JamesGoodwin > 05-12-2022 14:39:04 |
Denzar пишет
скрытый текст |
Denzar > 05-12-2022 17:18:43 |
JamesGoodwin пишет Ух как тут наворочено! Спасибо, что откликнулись! Эх, если б этот код ещё и то, что надо извлекал... Но увы, он извлекает не пароль, а второе слово по счёту - wildexpress |
JamesGoodwin > 05-12-2022 19:02:50 |
Denzar пишет
скрытый текст |
Denzar > 05-12-2022 20:04:14 |
JamesGoodwin пишет
А что это за сайт/ресурс? Это конструктор регулярных выражений? А как им пользоваться? Может у меня получилось бы, если б знал как им пользоваться. А так-то это регулярное выражение, что вы прислали, не работает. Точнее удаляет лишнее вместе с паролем, оставляя только слово wildexpress. Так что тут надо дальше думать (мне) как правильно сделать/написать регулярное выражение, чтоб удаляло всё лишнее кроме пароля. |
JamesGoodwin > 05-12-2022 22:37:39 |
Denzar пишет
скрытый текст |
Denzar > 06-12-2022 05:10:08 |
JamesGoodwin пишет
Что это? Хоть бы текст какой написали. Нифига не понятно. |
Алим > 18-01-2023 12:22:18 |
Denzar пишет
Он у вас при извлечении выделяет весь текст содержимого или только первую строчку? |
Denzar > 25-01-2023 00:18:18 |
Алим пишет
С этим я уже разобрался, по своему написал. Составную команду зделал, точнее в несколько этапов извлекаю что надо, несколькими командами. PS а вот со счетчиком циклов, который бы останавливался после определенного количества искомых фраз, пока затык. То что вы написали выше, так и не работает. |
Gergi > 19-03-2023 18:13:09 |
Добрый день. скрытый текст Выделить код Код:iimPlayCode('TAG POS=1 TYPE=DIV ATTR=* EXTRACT=HTM'); id_chars=iimGetLastExtract().split('jx-tokenizer" id="')[1].split('">')[0] id_chars=id_chars.match(/^[\w_]+/) |
Gergi > 23-03-2023 17:15:38 |
Стесняюсь спросить, форум живой? |
dim222 > 23-03-2023 22:16:04 |
У тебя и так iim. Та и зачем он тебе нужен? js более гибкий и удобный. |
Gergi > 23-03-2023 23:09:34 |
dim222 пишет
А как его запустить в iim файле? |
dim222 > 24-03-2023 06:59:32 |
Зачем ты используешь imacros со свежими версиями лисы? |
Gergi > 24-03-2023 12:43:35 |
dim222 пишет
Мне нужно в телеге работать,а в старых версиях лисы телега не открывается, просто белый экран. |
Gergi > 24-03-2023 13:20:25 |
Как можно зациклить этот код что бы крутился 1000 раз? скрытый текст Выделить код Код:TAG POS={{!loop}} TYPE=SPAN ATTR=TXT:* WAIT SECONDS=1 TAG POS=1 TYPE=I ATTR=CLASS:icon-add-user TAG POS=1 TYPE=LABEL ATTR=TXT:Показать* TAG POS=4 TYPE=INPUT:CHECKBOX ATTR=* CONTENT=NO TAG POS=1 TYPE=BUTTON ATTR=TXT:Готово TAG POS=1 TYPE=BUTTON ATTR=TYPE:button&&CLASS:Button<SP>smaller<SP>translucent<SP>round&&ARIA-LABEL:Назад&&TITLE:Назад |
karginaolga > 25-03-2023 07:07:16 |
Gergi |
Gergi > 27-03-2023 18:08:39 |
karginaolga пишет
Спасибо бро, реально помог) скрытый текст Выделить код Код:// Общий цикл for(k15r=1;k15r<=300;k15r++){ // Внутрений цикл for(k14r=1;k14r<=k15r;k14r++){ iimPlayCode('WAIT SECONDS=2'); } iimPlayCode('WAIT SECONDS=3'); } |
Gergi > 13-04-2023 00:17:54 |
Подскажите что не так в этом коде,пишет ошибка в 9й строке скрытый текст Выделить код Код:VERSION BUILD=1011 RECORDER=CR SET !ERRORIGNORE YES SET !ERRORCONTINUE YES SET !DATASOURCE C:\1\111.txt SET !DATASOURCE_COLUMNS 1 SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} TAB T=1 URL GOTO={{!COL1}} |
karginaolga > 13-04-2023 17:11:11 |
Gergi |
dim222 > 14-04-2023 22:22:31 |
Gergi |
bop101 > 01-06-2023 15:18:41 |
В свежих версиях imacros (выше 8.9.7) нельзя извлечь строку из файла? |
Deriax > 03-10-2023 18:52:55 |
bop101 пишет
Можно. |
praktik > 12-10-2023 23:41:33 |
bop101 пишет
нельзя в 10 версиях, без платного апдейта. В версиях свежее 8.9.7 урезали поддержку JS. 13-10-2023 00:00:56 Gergi пишет
версии 10+, в бесплатном варианте, работу с файловой системой не поддерживают, о чём система и сообщает. |
Denzar > 15-01-2024 20:34:45 |
Здравствуйте! Подскажите как с помощью регулярных выражений извлечь число которое идёт первым? Оно может быть от 5 чисел до 7. То есть из текста с числами я извлекаю примерно такую комбинацию чисел с помощью регулярного выражения
и получается следующее:
Теперь надо как-то взять первое число 483279, оно в данном случае из 6-ти чисел. Но может быть и из 5-ти и из 7-ми. Подскажите каким регулярным выражением лучше всего извлекать в данном случае? 15-01-2024 21:03:44 |
InfSub > 15-01-2024 21:45:52 |
Denzar пишет
вы получаете массив с данными, если вопрос именно о первом блоке чисел, а не о первом вхождении из 5-7 чисел, то можно обратиться к нулевому элементу массива скрытый текст Выделить код Код:var str = 'ere1r44r2f3r4r557 r45vv5v 5 6 5cgf8989'; var result = str.match(/\d+/g); alert(result[0]); |
dim222 > 01-08-2024 01:37:28 |
Приветствую! |