подскажите как прописать в js сравнение текстов, например,
запускаем iim1-запоминаем url1, пауза 1 мин, выполняем iim2,
потом запускаем iim1 - сравниваем новый url c url1 - если они одинаковы - то выполняем iim1, если нет - то iim2

Спасибо за раннее!!!!:P

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

Выделить код

Код:

var a='link 1';
var b='link 2';
if(a==b){
    // код, если ссылки совпадают
}else{
    // если не совпадают
};

InfSub

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

Выделить код

Код:

while(true) {

var macro1;
macro1 =  "CODE:";
macro1 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro1 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro1 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro1 +=  'SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro1 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro1 +=  "SET !DATASOURCE_LINE {{!VAR1}}" + "\n"; 
macro1 +=  "TAB T=1" + "\n"; 
macro1 +=  "URL GOTO=https://www.youtube.com" + "\n";
macro1 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro1 +=  "TAG POS=1 TYPE=SPAN ATTR=TXT:Подписки" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(5)>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>DIV>OL>LI>OL>LI>DIV>DIV>DIV:nth-of-type(2)>UL>LI>DIV>DIV>DIV>A>DIV>SPAN>IMG" BUTTON=0' + "\n";  
macro1 +=  "wait seconds = 3" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#comment-section-renderer>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0' + "\n"; 
macro1 +=  "wait seconds = 1" + "\n"; 
macro1 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro1 +=  'EVENTS TYPE=KEYPRESS SELECTOR="#comment-simplebox>DIV:nth-of-type(2)>DIV:nth-of-type(2)" CHARS="{{!COL1}}"' + "\n"; 
macro1 +=  "wait seconds = 1" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#comment-simplebox>DIV:nth-of-type(3)>DIV>BUTTON:nth-of-type(2)" BUTTON=0' + "\n"; 
macro1 +=  "wait seconds = 3" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#watch8-sentiment-actions>SPAN>SPAN>BUTTON" BUTTON=0' + "\n"; 
macro1 +=  "TAB CLOSEALLOTHERS" + "\n";
macro1 +=  "ADD !EXTRACT {{!URLCURRENT}}" + "\n";
var a = iimGetLastExtract

iimPlay(macro1);


var macro2;
macro2 =  "CODE:";
macro2 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro2 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro2 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro2 +=  'SET !VAR2 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro2 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro2 +=  "SET !DATASOURCE_LINE {{!VAR2}}" + "\n"; 
macro2 +=  "TAB T=1" + "\n"; 
macro2 +=  "URL GOTO=https://www.youtube.com" + "\n";
macro2 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro2 +=  "TAG POS=1 TYPE=SPAN ATTR=TXT:Подписки" + "\n"; 
macro2 +=  'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(5)>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>DIV>OL>LI>OL>LI>DIV>DIV>DIV:nth-of-type(2)>UL>LI>DIV>DIV>DIV>A>DIV>SPAN>IMG" BUTTON=0' + "\n";  
macro2 +=  "ADD !EXTRACT {{!URLCURRENT}}" + "\n";
var b = iimGetLastExtract

iimPlay(macro2);

var macro3;
macro3 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro3 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro3 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro3 +=  'SET !VAR3 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro3 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro3 +=  "SET !DATASOURCE_LINE {{!VAR3}}" + "\n"; 
macro3 +=  'EVENT TYPE=CLICK SELECTOR="#comment-section-renderer>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0' + "\n"; 
macro3 +=  "wait seconds = 1" + "\n"; 
macro3 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro3 +=  'EVENTS TYPE=KEYPRESS SELECTOR="#comment-simplebox>DIV:nth-of-type(2)>DIV:nth-of-type(2)" CHARS="{{!COL1}}"' + "\n"; 
macro3 +=  "wait seconds = 1" + "\n"; 
macro3 +=  'EVENT TYPE=CLICK SELECTOR="#comment-simplebox>DIV:nth-of-type(3)>DIV>BUTTON:nth-of-type(2)" BUTTON=0' + "\n"; 
macro3 +=  "wait seconds = 3" + "\n"; 
macro3 +=  'EVENT TYPE=CLICK SELECTOR="#watch8-sentiment-actions>SPAN>SPAN>BUTTON" BUTTON=0' + "\n"; 
macro3 +=  "TAB OPEN" + "\n"; 
macro3 +=  "TAB T=2" + "\n"; 
macro3 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro3 +=  "wait seconds = 1" + "\n"; 


 
if(a == b) {
    iimPlay(macro2);
}
else {
    iimPlay(macro3);
}
}


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

что тут не так  - просто все равно выполняется macro3 даже если ссылки равны

InfSub

666duxa666 пишет:

что тут не так

iimGetLastExtract() - это функция, а вы используете ее как переменную
вызов данной функции должен происходить после iimPlay() а не до

данный скрипт заходит и в обновлении смотрит первое видео - запоминает url, пишет комент...потом заходит опять в обновлении смотрит первое видео - сравнивает url - если равны - то опять заходит в обновление и т.д., если не равны - то пишет комент..
что то все равно по второму и третьему разу пишет под одним видео(((

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

Выделить код

Код:

while(true) {

var macro1;
macro1 =  "CODE:";
macro1 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro1 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro1 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro1 +=  'SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro1 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro1 +=  "SET !DATASOURCE_LINE {{!VAR1}}" + "\n"; 
macro1 +=  "TAB T=1" + "\n"; 
macro1 +=  "URL GOTO=https://www.youtube.com" + "\n";
macro1 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro1 +=  "TAG POS=1 TYPE=SPAN ATTR=TXT:Подписки" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(5)>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>DIV>OL>LI>OL>LI>DIV>DIV>DIV:nth-of-type(2)>UL>LI>DIV>DIV>DIV>A>DIV>SPAN>IMG" BUTTON=0' + "\n";  
macro1 +=  "wait seconds = 3" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#comment-section-renderer>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0' + "\n"; 
macro1 +=  "wait seconds = 1" + "\n"; 
macro1 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro1 +=  'EVENTS TYPE=KEYPRESS SELECTOR="#comment-simplebox>DIV:nth-of-type(2)>DIV:nth-of-type(2)" CHARS="{{!COL1}}"' + "\n"; 
macro1 +=  "wait seconds = 1" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#comment-simplebox>DIV:nth-of-type(3)>DIV>BUTTON:nth-of-type(2)" BUTTON=0' + "\n"; 
macro1 +=  "wait seconds = 3" + "\n"; 
macro1 +=  'EVENT TYPE=CLICK SELECTOR="#watch8-sentiment-actions>SPAN>SPAN>BUTTON" BUTTON=0' + "\n"; 
macro1 +=  "TAB CLOSEALLOTHERS" + "\n";
macro1 +=  "ADD !EXTRACT {{!URLCURRENT}}" + "\n";

iimPlay(macro1);
var a = iimGetLastExtract()


var macro2;
macro2 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro2 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro2 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro2 +=  'SET !VAR3 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro2 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro2 +=  "SET !DATASOURCE_LINE {{!VAR3}}" + "\n"; 
macro2 +=  'EVENT TYPE=CLICK SELECTOR="#comment-section-renderer>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0' + "\n"; 
macro2 +=  "wait seconds = 1" + "\n"; 
macro2 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro2 +=  'EVENTS TYPE=KEYPRESS SELECTOR="#comment-simplebox>DIV:nth-of-type(2)>DIV:nth-of-type(2)" CHARS="{{!COL1}}"' + "\n"; 
macro2 +=  "wait seconds = 1" + "\n"; 
macro2 +=  'EVENT TYPE=CLICK SELECTOR="#comment-simplebox>DIV:nth-of-type(3)>DIV>BUTTON:nth-of-type(2)" BUTTON=0' + "\n"; 
macro2 +=  "wait seconds = 3" + "\n"; 
macro2 +=  'EVENT TYPE=CLICK SELECTOR="#watch8-sentiment-actions>SPAN>SPAN>BUTTON" BUTTON=0' + "\n"; 
macro2 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro2 +=  "wait seconds = 1" + "\n"; 

var macro3;
macro3 =  "CODE:";
macro3 +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro3 +=  "SET !ERRORIGNORE YES" + "\n"; 
macro3 +=  "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro3 +=  'SET !VAR2 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro3 +=  "SET !DATASOURCE 4.txt" + "\n"; 
macro3 +=  "SET !DATASOURCE_LINE {{!VAR2}}" + "\n"; 
macro3 +=  "TAB T=1" + "\n"; 
macro3 +=  "URL GOTO=https://www.youtube.com" + "\n";
macro3 +=  "TAB CLOSEALLOTHERS" + "\n"; 
macro3 +=  "TAG POS=1 TYPE=SPAN ATTR=TXT:Подписки" + "\n"; 
macro3 +=  'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(5)>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>DIV>OL>LI>OL>LI>DIV>DIV>DIV:nth-of-type(2)>UL>LI>DIV>DIV>DIV>A>DIV>SPAN>IMG" BUTTON=0' + "\n";  
macro3 +=  "ADD !EXTRACT {{!URLCURRENT}}" + "\n";
iimPlay(macro3);
var b = iimGetLastExtract()

 
if(a == b) {
    iimPlay(macro3);
}
else {
    iimPlay(macro2);
}
}

666duxa666
(я не запускал ваш код, так что, все рассуждения ниже, чисто теория)
во-первых, вы уверены, что url до комментария и после - не отличается?
во-вторых, у вас в каждом цикле обновляется значение переменной a, вы это учитываете? судя по коду - нет:

действие вашего кода в ситуации когда нового видео нет:
цикл 1:
a='урл 1'; // получение url'a и коммент
b='урл 1';
a==b (true) {macro3};
цикл 2:
a='урл 1'; // получение url'a и коммент
b='урл 1';
a==b (true) {macro3};
и т.д.

(я не запускал ваш код, так что, все рассуждения ниже, чисто теория)

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

Выделить код

Код:

while(true) { 


var macro1; 
macro1 = "CODE:"; 
macro1 += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro1 += "SET !REPLAYSPEED FAST " + "\n"; 
macro1 += "SET !ERRORIGNORE YES" + "\n"; 
macro1 += "SET !EXTRACT NULL" + "\n"; 
macro1 += "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro1 += 'SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro1 += "SET !DATASOURCE 4.txt" + "\n"; 
macro1 += "SET !DATASOURCE_LINE {{!VAR1}}" + "\n"; 
macro1 += "TAB T=1" + "\n"; 
macro1 += "URL GOTO=https://www.САЙТ.com/feed/ffff" + "\n"; 
macro1 += 'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(5)>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>DIV>OL>LI>OL>LI>DIV>DIV>DIV:nth-of-type(2)>UL>LI>DIV>DIV>DIV>A>DIV>SPAN>IMG" BUTTON=0' + "\n"; 
macro1 += "wait seconds = 3" + "\n"; 
macro1 += "ADD !EXTRACT {{!URLCURRENT}}" + "\n"; 
iimPlay(macro1); 


var a = iimGetLastExtract(); 



var macro3; 
macro3 = "CODE:"; 
macro3 += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro3 += "SET !ERRORIGNORE YES" + "\n"; 
macro3 += "FILTER TYPE=IMAGES STATUS=ON" + "\n"; 
macro3 += 'SET !VAR3 EVAL("var randomNumber=Math.floor(Math.random()*3424 + 1); randomNumber;")' + "\n"; 
macro3 += "SET !DATASOURCE 4.txt" + "\n"; 
macro3 += "SET !DATASOURCE_LINE {{!VAR3}}" + "\n"; 
macro3 += 'EVENT TYPE=CLICK SELECTOR="#comment-section-renderer>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0' + "\n"; 
macro3 += "wait seconds = 1" + "\n"; 
macro3 += "TAB CLOSEALLOTHERS" + "\n"; 
macro3 += 'EVENTS TYPE=KEYPRESS SELECTOR="#comment-simplebox>DIV:nth-of-type(2)>DIV:nth-of-type(2)" CHARS="{{!COL1}}"' + "\n"; 
macro3 += "wait seconds = 1" + "\n"; 
macro3 += 'EVENT TYPE=CLICK SELECTOR="#comment-simplebox>DIV:nth-of-type(3)>DIV>BUTTON:nth-of-type(2)" BUTTON=0' + "\n"; 
macro3 += "wait seconds = 3" + "\n"; 
macro3 += 'EVENT TYPE=CLICK SELECTOR="#watch8-sentiment-actions>SPAN>SPAN>BUTTON" BUTTON=0' + "\n"; 
macro3 += "TAB CLOSEALLOTHERS" + "\n"; 
macro3 += "wait seconds = 1" + "\n"; 



if(a == b) { 
iimPlay(macro1); 
var a = null; 
} 
else { 
var b = a; 
var a = null; 
iimPlay(macro3); 

} 
}


Данный скрипт работает на 100%!

как вы видите - в макро1 запоминается в значение "а" URL(если посмотреть выше код макро1),
потом сравнивается с "b" - если равны → то макро1 - если нет →  макро2
изначально "b" не известно, то есть = 0, поэтому при сравнении "a" с "b" - сразу выполняется макро3, при этом значение "b" принимается равным значению "a", а "a" - обнуляется и т.д.

У меня вопрос - можно ли вместо "a" и "b" сохранять в файл данные???
Зачем мне это надо? - просто при длительной работе мазилы - она начинает жрать очень много оперативы.... и чтобы не терять значения - хотелось бы сделать через файл эти значения, и по истечении времени перезапускать мазилу

собственно не знаю, почему не ответил на последний вопрос тогда, в 2016 году, видимо пропустил, ну да пусть это будет маленьким некропостингом
да возможно, не буду тут приводить примеры, за этот год не единожды они приводились в основной теме, но вариантов несколько, как минимум воспользоваться iMacros функцией SAVEAS или использовать для этого js