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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№123-10-2016 02:07:02

666duxa666
Участник
 
Группа: Members
Зарегистрирован: 11-11-2014
Сообщений: 9
UA: Chrome 53.0

[РЕШЕНО] Как сравнить в js текст

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

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

Отсутствует

 

№223-10-2016 18:33:35

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3059
UA: Chrome 53.0
Веб-сайт

Re: [РЕШЕНО] Как сравнить в js текст

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

Выделить код

Код:

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


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№324-10-2016 00:13:13

666duxa666
Участник
 
Группа: Members
Зарегистрирован: 11-11-2014
Сообщений: 9
UA: Chrome 53.0

Re: [РЕШЕНО] Как сравнить в js текст

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

Отсутствует

 

№424-10-2016 09:17:35

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3059
UA: Chrome 53.0
Веб-сайт

Re: [РЕШЕНО] Как сравнить в js текст

666duxa666 пишет:

что тут не так

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


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№526-10-2016 23:11:22

666duxa666
Участник
 
Группа: Members
Зарегистрирован: 11-11-2014
Сообщений: 9
UA: Chrome 54.0

Re: [РЕШЕНО] Как сравнить в js текст

данный скрипт заходит и в обновлении смотрит первое видео - запоминает 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);
}
}

Отсутствует

 

№630-10-2016 09:05:07

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3059
UA: Chrome 54.0
Веб-сайт

Re: [РЕШЕНО] Как сравнить в js текст

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};
и т.д.

Отредактировано InfSub (30-10-2016 09:08:51)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№715-11-2016 23:58:31

666duxa666
Участник
 
Группа: Members
Зарегистрирован: 11-11-2014
Сообщений: 9
UA: Chrome 54.0

Re: [РЕШЕНО] Как сравнить в js текст

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

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

Выделить код

Код:

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" сохранять в файл данные???
Зачем мне это надо? - просто при длительной работе мазилы - она начинает жрать очень много оперативы.... и чтобы не терять значения - хотелось бы сделать через файл эти значения, и по истечении времени перезапускать мазилу

Отсутствует

 

№803-11-2017 23:22:49

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3059
UA: Chrome 61.0
Веб-сайт

Re: [РЕШЕНО] Как сравнить в js текст

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


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

Board footer

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