Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 18:18:23

Большое спасибо за развернутый ответ.

PRESIDENT пишет

Что ты хочешь этим кодом сделать ?В 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);

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 16:57:20

PRESIDENT пишет

Вот так попробуй

Выделить код

Код:

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);

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 16:30:06

PRESIDENT пишет

Вот так попробуй

скрытый текст

Выделить код

Код:

iimPlayCode("SET !DATASOURCE test.csv\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL2}}");   var serv = iimGetExtract();

Спасибо. Работает.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 16:06:35

InfSub пишет

может быть будете внимательней и банальные опечатки при вызове функций будете исправлять самостоятельно?

Прошу прощения - мой косяк. Где-то допустил ошибку. Затем был копипаст.

Но все равно проблема осталась. Много чего перепробовал, но так и не исправил ошибку. Мои познания в 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}}");


test.csv

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 12:05:00

InfSub пишет

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    ...


на строке 20 вываливается первая ошибка (в конце поста). При этом программа не останавливается.
Затем на строке 22 получаю вторую ошибку с остановкой.

[i]TypeError: this.dataSource[(lin

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 01:06:26

InfSub
О! Точно! Я все думал, что где-то это видел. Но не мог вспомнить.
Да, я это видел именно здесь.
Спасибо за наводку.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 00:34:17

Задам по ходу еще один вопрос.
Как можно вызвать js из js. И это, находясь в iMacros.
Например, если я пишу сейчас строки в js и чтобы вызвать, ну, допустим, подпрограмму в синтаксисе iMacros, то напишу в коде js напишу iimPlayCode(...) или iimPlay(...). А как вызвать подпрограмму js из js?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 03-06-2015 00:06:19

to InfSub:
Большое спасибо за помощь, тем более за оперативную.
Форум читаю, но честно говоря, уйдет очень много времени, чтобы перечитать от "корки" до "корки". Поэтому стараюсь пользоваться поиском. В этот раз все вопросы были мимо.

InfSub пишет

в сотый раз повторяю, ...

Еще раз отдельное спасибо за терпеливость.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 02-06-2015 23:15:51

Есть страница, на которой в некоторых ситуациях есть кнопка (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);


Как можно справиться с этой ошибкой?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 30-05-2015 23:58:44

PRESIDENT пишет

В настройках имакроса укажи путь к списку файлов/макросов и если нужно пути к датасоурсе и довнлоадс.

А я выше написал (пост №4082), что папка макросов указана.
Плюс, конечно,
Папка данных: D:\PROGRAMS\Internet\iMacros\Datasources и
Папка закачек: D:\Download.

Но это все было прописано сначала. Может что-то еще имеете в виду?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 30-05-2015 22:55:40

spy686 пишет

hubbleпопробуй экранировать. вместо "\" пиши "\\"

Забыл указать, что так тоже пробовал.
Но сейчас перепроверил.
Вот, что получаю:
Macro proba.iim not found (Error code: 930).

Файл находится на месте. На всякий случай переписал имя файла. Подумал - может скрылся символ-кириллица в названии. ПОМОГЛО!!!
Может быть эта мелочь кому-то поможет, поэтому отписался.

to spy686, InfSub: Спасибо.

Дописываю в догонку.

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

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 30-05-2015 18:36:16

В строке кода:

iimPlay("d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\proba.iim",60);

получаю следующую ошибку:
Macro d:PROGRAMSInternetiMacrosManyFunsfunproba.iim not found (Error code: 930)

Между fun и proba стоит нечитаемый символ (кракозябр). Когда набирал этот текст - он был, а здесь его нет.
Набирал путь и относительным - тоже была ошибка. Правда другая.
В чем ошибка?
P.S.
В папке    d:\PROGRAMS\Internet\iMacros\ManyFuns\fun\ лежат файлы .iim
В папке    d:\PROGRAMS\Internet\iMacros\ManyFuns\ лежат файлы .js
Директория d:\PROGRAMS\Internet\iMacros указана в настройках iMacros как Папка макросов

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]