Нашел что через батник запускается, но мне нужно так что бы запускался макрос при запущенном уже фаерфоксе и открытой странице. Или как вместо этого можно сделать так что бы макрос ждал появления .txt файла в папке с определенным названием.
Как реализовать такую задачу?

smoke_zp

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

Выделить код

Код:

// проверяем, есть ли файл, если нет задержка 1сек
while(iimPlayCode('set !datasource your_file.txt'), iimGetLastError()!='OK'){
    iimPlayCode('WAIT SECONDS=1');
};
// далее действие, если файл найден

InfSub
удалено, избыточное цитирование
Это я так понял какой-то язык, и надо еще подключить его к imacros'у. Я думал можно средствами imacros'a справиться.

InfSub

smoke_zp
это js
подключать не надо
просто записываете код в файл с расширением .js вместо iim
iMacros, в чистом виде, не умеет выполнять действия в зависимости от выполнения или невыполнения условия, для этого и используется javascript

InfSub
удалено, избыточное цитирование
я слышал что через php можно тоже использовать imacros. Я просто в нем лучше, не знаете как запускать из php?

InfSub

только платную версию

InfSub
ну вроде как все сделал, как говорил. все работает, а вот капчу не качает, а обычный макрос работает.

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

Выделить код

Код:

iimPlayCode('VERSION BUILD=8820413');
iimPlayCode('SET !EXTRACT_TEST_POPUP NO');
iimPlayCode('SET !ERRORIGNORE NO');
iimPlayCode('SET !TIMEOUT_PAGE 999');
iimPlayCode('SET !TIMEOUT_STEP 999');
iimPlayCode('TAB CLOSEALLOTHERS');


iimPlayCode('SET !VAR0 D:\Watcher\Questions\\');

iimPlayCode('SET !VAR1 2_captcha_{{!NOW:yyyymmdd_hhnnss}}.png');




iimPlayCode('TAB T=1');
iimPlayCode('URL GOTO=https://bitcoinker.com/');
iimPlayCode('WAIT SECONDS=3');
iimPlayCode('ONDOWNLOAD FOLDER={{!VAR0}} FILE={{!VAR1}} WAIT=YES');
iimPlayCode('TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');
iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=ID:faucet ATTR=NAME:address CONTENT=dfgdfgdf');


код публикуется в тегах code внутри спойлера

InfSub

smoke_zp
не надо загонять каждую строку iim-кода в отдельный iimPlayCode() - это равносильно запуску отдельного макроса с одной командой, соответственно при этом не передаются ваши данные из одной части скрипта в другую

сделал так, всеравно ничего не работает, в чем опять косяк?

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

Выделить код

Код:

var macros;
var start;
macros="CODE:VERSION BUILD=8820413"+"\n";
macros+="SET !EXTRACT_TEST_POPUP NO"+"\n";
macros+="SET !ERRORIGNORE NO"+"\n";
macros+="SET !TIMEOUT_PAGE 999"+"\n";
macros+="SET !TIMEOUT_STEP 999"+"\n";
macros+="TAB CLOSEALLOTHERS"+"\n";

macros+="SET !VAR0 D:\Watcher\Questions\\"+"\n";

macros+="SET !VAR1 2_captcha_{{!NOW:yyyymmdd_hhnnss}}.png"+"\n";

macros+="TAB T=1"+"\n";
macros+="URL GOTO=https://bitcoinker.com/"+"\n";
macros+="WAIT SECONDS=3"+"\n";
macros+="ONDOWNLOAD FOLDER={{!VAR0}} FILE={{!VAR1}} WAIT=YES"+"\n";
macros+="TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT"+"\n";
macros+="TAG POS=1 TYPE=INPUT:TEXT FORM=ID:faucet ATTR=NAME:address CONTENT=dfgdfgdf"+"\n";
start=iimPlay(macros);

какая ошибка при запуске скрипта?
какая версия имакроса?

20-10-2016 20:13:50

smoke_zp пишет

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

Выделить код

Код:

macros+="SET !VAR0 D:\Watcher\Questions\\"+"\n";

почему экранирование обратных слешей только в конце строки?

20-10-2016 20:15:13

smoke_zp пишет

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

Выделить код

Код:

macros="CODE:VERSION BUILD=8820413"+"\n";
macros+="SET !EXTRACT_TEST_POPUP NO"+"\n";

это вообще можно удалить

ошибка

reason is not defined, line: 7 (Error code: -1001)

версия 9.0.3

smoke_zp пишет

ошибка

reason is not defined, line: 7 (Error code: -1001)

версия 9.0.3

В коде 7 строка "reason" не определен
Версию Imacros-a  откати на предыдущею.
Здесь куча примеров по твоему вопросу.

Откатил, ошибка пропала, я кажется понял в чем проблема, но не знаю как исправить. Я заметил что когда я собрал строку, слеши куда-то пропали в пусти файла, хотя в коде они есть. Может проблема в этом, то что капча не сохраняется. В обычном макросе они есть.
http://clip2net.com/s/3DvO2Bo

все решил проблему, поставил по 2 слеша.

smoke_zp
прочтите мое последнее сообщение, я уже писал вам про экранирование обратных слешей