Страницы: 1
Большое спасибо за развернутый ответ.
Что ты хочешь этим кодом сделать ?В serv сохранить сразу 2 значения COL1 и COL2 ?
Нет. Только значение !COL1.
Но, как я теперь думаю, не правильно понимал. Я так понял, что то значение, которое было записано первым в !EXTRACT (по ходу кода), будет выбираться iimGetExtract(1). А то которое второе - iimGetExtract(2) и т.д.
Но даже если во второй строке одна переменная - та же ошибка: TypeError: this.dataSource[(line - 1)] is undefined, line 1 (Error code: -1001). Вроде бы не связанные строки.
iimPlayCode("SET !DATASOURCE test.csv\nSET !DATASOURCE_LINE 1\n"); iimPlayCode("SET !EXTRACT {{!COL1}}\n"); var serv = iimGetExtract(1);
Вот так попробуйВыделить кодКод:
iimPlayCode("SET !DATASOURCE test.csv\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL2}}"); var serv = iimGetExtract();
Можно объяснить - чтобы потом уже не задавать вопросы на эту тему - в каких случаях надо писать в одну строку, а когда применять конкатенацию?
Когда пишу так, то снова ошибка во второй строке: TypeError: this.dataSource[(line - 1)] is undefined, line 1 (Error code: -1001)
iimPlayCode("SET !DATASOURCE test.csv\nSET !DATASOURCE_LINE 1\n"); iimPlayCode("SET !EXTRACT {{!COL1}}\nSET !EXTRACT {{!COL2}}\n"); var serv = iimGetExtract(1); alert(serv);
Вот так попробуй
скрытый текстВыделить кодКод:
iimPlayCode("SET !DATASOURCE test.csv\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL2}}"); var serv = iimGetExtract();
Спасибо. Работает.
может быть будете внимательней и банальные опечатки при вызове функций будете исправлять самостоятельно?
Прошу прощения - мой косяк. Где-то допустил ошибку. Затем был копипаст.
Но все равно проблема осталась. Много чего перепробовал, но так и не исправил ошибку. Мои познания в iMacros в зародышевом состоянии. Да и js недавно начал изучать. Поэтому, заранее прошу прощения за простые оплошности.
Вот простой код. И не могу понять, почему ошибки.
1 var macro; 2 3 iimPlayCode("SET !DATASOURCE test.csv"); 4 iimPlayCode("SET !DATASOURCE_LINE 1"); 5 6 iimPlayCode("SET !EXTRACT {{!COL2}}"); 7 8 var serv = iimGetExtract(1); 9 10 if (serv == 1) { 11 iimSet('SERVICE', 'http://site1.ru'); 12 } 13 else if (serv == 2) { 14 iimSet('SERVICE', 'http://site2.ru'); 15 } 16 else { 17 iimSet('SERVICE', 'http://site3.ru'); 18 } 19 20 iimPlayCode("URL GOTO={{SERVICE}}");
hubble какое отношение SET !ERRORIGNORE YES имеет к js?
А если файл комбинированный (в нем есть и команды iMacros и js)?
03-06-2015 12:06:24
В следующем коде (в файле js + iMacros):
1 var macro; 2 ... 10 ... 11 macro = "code code code"; 12 macro += "code code code"; 13 macro += "code code code"; 14 iimPlayCode(macro); 15 // комментарий 16 macro = "ADD !EXTRACT {{!COL1}}" + "\n"; 17 macro += "ADD !EXTRACT {{!COL2}}" + "\n"; 18 macro += "ADD !EXTRACT {{!COL3}}" + "\n"; 19 macro += "ADD !EXTRACT {{!COL4}}" + "\n"; 20 iimPlayCode(macro); 21 22 var res = iimGetLastExract(1); 23 var col2 = iimGetLastExract(2); 24 var col3 = iimGetLastExract(3); 25 var col4 = iimGetLastExract(4); 25 ...
[i]TypeError: this.dataSource[(lin
…InfSub
О! Точно! Я все думал, что где-то это видел. Но не мог вспомнить.
Да, я это видел именно здесь.
Спасибо за наводку.
Задам по ходу еще один вопрос.
Как можно вызвать js из js. И это, находясь в iMacros.
Например, если я пишу сейчас строки в js и чтобы вызвать, ну, допустим, подпрограмму в синтаксисе iMacros, то напишу в коде js напишу iimPlayCode(...) или iimPlay(...). А как вызвать подпрограмму js из js?
to InfSub:
Большое спасибо за помощь, тем более за оперативную.
Форум читаю, но честно говоря, уйдет очень много времени, чтобы перечитать от "корки" до "корки". Поэтому стараюсь пользоваться поиском. В этот раз все вопросы были мимо.
в сотый раз повторяю, ...
Еще раз отдельное спасибо за терпеливость.
Есть страница, на которой в некоторых ситуациях есть кнопка (class="btn"), или ее нет. После нажатия на ней, появляется другая кнопка (id="checkbtn"). В случае, когда первой кнопки нет, а есть только вторая, iMacros выдает ошибку: TypeError: window.document.getElementsByClassName(...)[0] is undefined, line 15 (Error code: -991)
... window.document.getElementsByClassName('btn')[0].submit(); iimPlayCode("WAIT SECONDS=6"); window.document.getElementById('checkbtn').click(); ...
macro = "SET !ERRORIGNORE YES" + "\n"; macro += "SET !ERRORCONTINUE YES" + "\n"; iimPlayCode(macro);
В настройках имакроса укажи путь к списку файлов/макросов и если нужно пути к датасоурсе и довнлоадс.
А я выше написал (пост №4082), что папка макросов указана.
Плюс, конечно,
Папка данных: D:\PROGRAMS\Internet\iMacros\Datasources и
Папка закачек: D:\Download.
Но это все было прописано сначала. Может что-то еще имеете в виду?
hubbleпопробуй экранировать. вместо "\" пиши "\\"
Забыл указать, что так тоже пробовал.
Но сейчас перепроверил.
Вот, что получаю:
Macro proba.iim not found (Error code: 930).
Файл находится на месте. На всякий случай переписал имя файла. Подумал - может скрылся символ-кириллица в названии. ПОМОГЛО!!!
Может быть эта мелочь кому-то поможет, поэтому отписался.
to spy686, InfSub: Спасибо.
Дописываю в догонку.
если файлы расположены в директории скриптов имакроса, то как уже писалось в FAQ, скрипт можно вызвать через относительный путь:
После того, как переписал путь как относительный (слэши прямые - не ошибся), получил такую ошибку:
[Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath]" nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)" location: "JS frame :: resource://imacros/utils.js :: imns.FIO.openNode :: line 196" data: no], lin
…
В строке кода:
iimPlay("d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\proba.iim",60);
Macro d:PROGRAMSInternetiMacrosManyFunsfunproba.iim not found (Error code: 930)
В папке d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\ лежат файлы .iim
В папке d:\PROGRAMS\Internet\iMacros\ManyFuns\ лежат файлы .js
Директория d:\PROGRAMS\Internet\iMacros указана в настройках iMacros как Папка макросов
Страницы: 1