Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [ spoiler][ noindex]http://адрес_сайта/название_страницы[ /noindex][ /spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [ spoiler][ code]ваш код[ /code][ /spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [ spoiler]ваш текст[ /spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [ spoiler][ img]http://ссылка_на_изображение[ /img][ /spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Всем привет!
Делаю экстракт,и выходит много лишней чепухи
Как можно всё лишнее обрезать и оставить только эти цифры? 1255767817853857
<i style="background-image: url("https://scontent-waw1-1.xx.fbcdn.net/v/t1.0-0/p206x206/18882232_1255767817853857_156573834727522887_n.jpg?oh=6bb049440d5f7d8f20027a456e9504cf&oe=59A6A373"); outline: 1px solid blue;" class="uiMediaThumbImg"></i>
Отсутствует
Gergi
/_(\d+)_/
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
но экстрактится теперь так
читайте FAQ по функции match() - да и на форуме, я многократно писал, как получить правильный результат от данной функции
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub
да вроде как бы сделал правильно
Отсутствует
Gergi
я не спорю, с тем, как вы применили регулярное выражение, применили правильно, но вы не понимаете, что возвращает вам функция и что с этим делать, еще раз повторяю - либо поиск по форуму, либо FAQ по функции - дадут ответ на ваш вопрос
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Gergi
примерно так можно если ищете несколько таких строк на странице
TAG POS=1 TYPE=* ATTR=* EXTRACT=HTM SET digits EVAL("var str = '{{!EXTRACT}}'.match(/_\d+_/g); str.join().replace(/_/g, '').replace(/,/g, '\\r\\n');") SET !EXTRACT NULL PROMPT {{digits}} ADD !EXTRACT {{digits}} SAVEAS TYPE=EXTRACT FOLDER=iMacros FILE=Name.txt"
Получим только _1255767817853857_
а не _1255767817853857_ и _156573834727522887_
Отредактировано Squatter (01-06-2017 03:44:07)
Отсутствует
Знатоки!!! при получении вчерашней даты использую код
var d = new Date(); d.setDate(d.getDate()-1); alert(d.getDate()+'.'+d.getMonth()+'.'+d.getFullYear())
Отсутствует
dim222
var MyDate = new Date(); var MyDateString; MyDate.setDate(MyDate.getDate() - 1); MyDateString = ('0' + MyDate.getDate()).slice(-2) + '.' + ('0' + (MyDate.getMonth()+1)).slice(-2) + '.' + MyDate.getFullYear(); alert(MyDateString);
Счёт месяцев идёт с нуля
Отредактировано Squatter (01-06-2017 08:31:02)
Отсутствует
Всем привет, очень нужна ваша помощь. Имею следующий скрипт:
VERSION BUILD=9030808 RECORDER=FX SET !ERRORIGNORE YES FILTER TYPE=IMAGES STATUS=ON URL GOTO= МОЯ ССЫЛКА WAIT SECONDS=1 TAG POS=1 TYPE=DIV ATTR=ID:subText >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ПРОБЛЕМНОЕ МЕСТО!!!!!!!!!!!!!!!! TAB T=2 WAIT SECONDS=2 TAG POS=2 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=1 TAG POS=1 TYPE=DIV ATTR=TXT: WAIT SECONDS=3 TAG POS=1 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=2 CLICK X=94 Y=494 WAIT SECONDS=2 CLICK X=102 Y=498 WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TXT: WAIT SECONDS=3 EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0 WAIT SECONDS=2 TAB T=1 WAIT SECONDS=3.5 TAG POS=2 TYPE=DIV ATTR=TXT: WAIT SECONDS=2 TAG POS=1 TYPE=DIV ATTR=TXT: WAIT SECONDS=1 TAB CLOSEALLOTHERS
var macro; iimPlayCode('SET !ERRORIGNORE YES'); macro ="CODE:"; macro +="TAG POS=1 TYPE=DIV ATTR=ID:subText"; var ret=null; ret=iimPlay(macro); if(ret>0) { iimPlayCode('SET !DATASOURCE_LINE 7'); >>>>>>>>>> Хочу начать с седьмой строки, если условие верно iimPlayCode('URL GOTO=imacros://run/?m=Sub2-2.iim'); } else { iimPlayCode('REFRESH')}
P.S Где то видел, что проверять элемент на странице можно командой EVAL без подключение JS, но уже не помню где. Тогда 1 проблема отпадет.
Отредактировано FastSpeed (02-06-2017 13:37:12)
Отсутствует
if(ret>0) наоборот if(ret<0)
for (;;){ var err = iimPlay("CODE:URL GOTO= МОЯ ССЫЛКА\nPOS=1 TYPE=DIV ATTR=ID:subText >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ПРОБЛЕМНОЕ МЕСТО!!!!!!!!!!!!!!!!"); if (err<0){continue;} iimPlay("CODE:TAB T=2\nWAIT SECONDS=2\nTAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1"); }
Отсутствует
Спасибо большое!
У меня еще тогда такой вопрос, дело в том, что изредка меня интернет страница выкидывает на поле ввода логина и пароля. Это происходит после URL GOTO= МОЯ ССЫЛКА. В принципе не вопрос, ввод логина я сделал.
EVENT TYPE=CLICK SELECTOR="#formLogin>DIV>INPUT" BUTTON=0 WAIT SECONDS=2 EVENTS TYPE=KEYPRESS SELECTOR="#formLogin>DIV>INPUT" CHARS="МОЙ ЛОГИН" WAIT SECONDS=2 EVENT TYPE=CLICK SELECTOR="#formLogin>DIV:nth-of-type(2)>INPUT" BUTTON=0 SET !ENCRYPTION NO WAIT SECONDS=2 EVENTS TYPE=KEYPRESS SELECTOR="#formLogin>DIV:nth-of-type(2)>INPUT" CHARS="МОЙ ПАРОЛЬ" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON FORM=ID:formLogin ATTR=TXT:Login
InfSub
Отредактировано FastSpeed (02-06-2017 15:12:03)
Отсутствует
Squatter
удалено, избыточное цитирование
EVENT TYPE=CLICK SELECTOR="#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)" BUTTON=0
Отсутствует
Это происходит после URL GOTO= МОЯ ССЫЛКА...Так, слабо себе представляю как сделать сначала проверку в JS
Аналогично, как и с кнопкой можно, через условие. Если не находит какой-нибудь элемент (которого точно нет на странице входа) после перехода «URL GOTO= МОЯ ССЫЛКА», то играет ваш код авторизации.
В JS тогда не работает эта команда:
Экранировать кавычки нужно
EVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0
Отредактировано Squatter (02-06-2017 18:15:25)
Отсутствует
Спасибо еще раз Осталась последняя проблема с этим JS. Если я использую js, то теперь нельзя остановить скрипт (STOP), браузер начинать лагать и скрипт не останавливается. В принципе не особо проблема, но я использую сразу 10 iim файлов. Они друг друга меняют в конце, содержимое их одинакокое, за исключением почтового ящика. Запустить js из js из-за этого бага теперь нельзя. Однако мне нужно, что скрипт менял почтовые ящики по клику:
for (;;){ var err = iimPlay("CODE:URL GOTO=/* моя ссылка */\nTAG POS=1 TYPE=DIV ATTR=ID:subText"); if (err<0){continue;} // мой скрипт iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:fastspeed@yandex.com); // дальше мой скрипт // вернуться к циклу на проверку кнопки TAG POS=1 TYPE=DIV ATTR=ID:subText // опять мой скрипт, но уже почта другая iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:fastspeed1@yandex.com); // снова вернуться к циклу на проверку кнопки TAG POS=1 TYPE=DIV ATTR=ID:subText // Итак 10 раз, и мы снова вернемся от 10 почте к 1 }
Добавлено 02-06-2017 19:30:36
удалено, избыточное цитирование, п.п. 2.9
Аналогично, как и с кнопкой можно, через условие. Если не находит какой-нибудь элемент (которого точно нет на странице входа) после перехода «URL GOTO= МОЯ ССЫЛКА», то играет ваш код авторизации.
Я понимаю, но меня выкинуть может в момент, когда происходит URL GOTO= МОЯ ССЫЛКА и скрипт ищет кнопку Subtext. Если меня выкинет в этот момент, скрипт будет искать кнопку TAG POS=1 TYPE=DIV ATTR=ID:subText на странице авторизации и не найдет её и будет по кругу крутить этот URL GOTO= МОЯ ССЫЛКА и меня вечно будет кидать на страницу авторизации.
Т.е мне нужно как-то сделать условие if в самом условии if.
замечание
InfSub
Отредактировано FastSpeed (02-06-2017 19:32:50)
Отсутствует
Опять проблема, сделал скрипт по вашей наводке. Этот JS меня начинает выводить из себя, одно починил другое сломал. Опять проблема
for (;;){ var err = iimPlay("CODE:URL GOTO=МОЯ ССЫЛКА\nTAG POS=1 TYPE=DIV ATTR=ID:subText"); if (err<0){continue;} iimPlay("CODE:TAB T=1\nWAIT SECONDS=2\nTAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1\nTAG POS=1 TYPE=DIV ATTR=TXT:МОЙ ПОЧТОВЫЙ ЯЩИК\nWAIT SECONDS=3\nTAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=2\nCLICK X=94 Y=494\nWAIT SECONDS=2\nCLICK X=102 Y=498\nWAIT SECONDS=2\nTAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=3\nEVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0\nWAIT SECONDS=3\nTAB T=1\nWAIT SECONDS=3\nTAG POS=2 TYPE=DIV ATTR=TXT:Verify<SP>Subscription\nWAIT SECONDS=2\nTAG POS=1 TYPE=DIV ATTR=TXT:Next<SP>>>\nWAIT SECONDS=1\nTAB CLOSEALLOTHERS\nWAIT SECONDS=1"); }
Отсутствует
FastSpeed
iimPlay("CODE:TAB T=1\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=2 TYPE=BUTTON ATTR=TXT:\nWAIT SECONDS=1"); iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:МОЙ ПОЧТОВЫЙ ЯЩИК\nWAIT SECONDS=3"); iimPlay("CODE:TAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=2"); iimPlay("CODE:CLICK X=94 Y=494\nWAIT SECONDS=2\nCLICK X=102 Y=498\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=1 TYPE=BUTTON ATTR=TXT:ПодписатьсяПодписка<SP>оформленаОтменить<SP>подписку\nWAIT SECONDS=3"); iimPlay("CODE:EVENT TYPE=CLICK SELECTOR=\"#body-container>DIV:nth-of-type(5)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>BUTTON:nth-of-type(2)\" BUTTON=0\nWAIT SECONDS=3"); iimPlay("CODE:TAB T=1\nWAIT SECONDS=3"); iimPlay("CODE:TAG POS=2 TYPE=DIV ATTR=TXT:Verify<SP>Subscription\nWAIT SECONDS=2"); iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=TXT:Next<SP>>>\nWAIT SECONDS=1"); iimPlay("CODE:TAB CLOSEALLOTHERS\nWAIT SECONDS=1");
function summa () { var a = inportData('file:///D:\\1.txt'); for(var sum = i = 0; i < a.length; i++) sum += +a [i]; alert (sum); } function inportData(a) { var b = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); return b.open("GET", a, false), b.send(), b.responseText.split("\n") };
Отредактировано dim222 (02-06-2017 22:31:19)
Отсутствует
InfSub
Отредактировано karginaolga (02-06-2017 23:11:17)
Отсутствует
karginaolga
Я так пробовал,выдает "NaN", при чем если выбираю [0],то работает. Не пойму что не так.
Спасибо!работает. проблема была из-за переноса пустой строки
Отредактировано dim222 (02-06-2017 23:22:24)
Отсутствует
Всем привет, подскажите пожалуйста.
Сейчас у меня есть скрипт, который открывает ссылки в новых вкладках по базе. Можно ли сделать так, чтобы сначала он анализировал страницу на наличие в ней определенной информации, а потом при ее наличии открывал, остальное пропускал?
TAB T=1 URL GOTO=http://www.seosprint.net/work-task.php?f=1 wait seconds =2 TAB OPEN TAB T=2 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=1242043&cnt=a4646eb2044408c2ef167cdee56a1cb6 wait seconds =2 TAB OPEN TAB T=3 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=1073002&cnt=01cf6406f3fa7383e6b416d22f229e00 wait seconds =2 TAB OPEN TAB T=4 wait seconds =2 URL GOTO=http://www.seosprint.net/work-task-read.php?adv=904173&cnt=e2219e7febd8ccdf1604b3a3da430487
InfSub
Отсутствует
vodogrey
Да, можно, читайте про JavaScript и условный оператор if.. else..
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
vodogrey
Да, можно, читайте про JavaScript и условный оператор if.. else..
а сколько будет стоить помощь спеца в этом вопросе? возможно к вам обратиться?
Отсутствует
vodogrey
Для этого есть отдельная тема
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Кто-нить знает, как перезагрузить отдельный элемент на странице (например рекапчу) без перезагрузки всей страницы.
По- гуглил нашел: document.getElementById('id').innerHtml = newContent;
Отредактировано dim222 (04-06-2017 17:37:14)
Отсутствует