Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
Проблема такая, после цикла примерно в 300-400 нажатий, firefox перестает отвечать. То есть нажимается на кнопку подписаться но, самого прожатия (или отправки) не происходит, даже если я делаю это сам (навожу мышь, нажимаю подписаться) всё равно не срабатывает, как будто браузер перестает нажимать на ссылку. Как можно решить такую проблему? Может стоит какой - то таймаут? Прошу извинить если ошибся форумом
Может быть, это ограничения Инстаграма на количество подписок? В любом случае, без кода макроса ответа сложно получить.
Добавлено 07-02-2017 12:55:59
Здравствуйте, попрошу коллективной помощи. Вот игровой сайт
'URL GOTO=https://www.world-of-farmer.ru/game/play' 'кликаем по первому квадрату на поле TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:1&&OBJ_ID:157135248&&CLASS:g_build<SP>go_field<SP>active_hover&&TXT: 'выбираем для посадки семена пшеницы TAG POS=2 TYPE=DIV ATTR=TXT:Семена<SP>пшеницы 'сажаем семена по девяти квадратам поля по порядку (на рисунке с 1 по 9 квадраты) TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075290&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075291&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075292&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075293&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075294&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075295&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075296&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075297&&CLASS:g_build<SP>go_field<SP>move&&TXT: TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:161075298&&CLASS:g_build<SP>go_field<SP>move&&TXT:
//кликаем на 1 квадрат поля и выбираем пшеницу iimPlayCode('SET !TIMEOUT_STEP 2 \n SET !ERRORIGNORE YES \n TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:1&&OBJ_ID:*&&CLASS:g_build<SP>go_field*&&TXT:*\n TAG POS=2 TYPE=DIV ATTR=TXT:Семена<SP>пшеницы'); //парсим ID первой грядки поля после выбора пшеницы iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:*&&CLASS:g_build<SP>go_field<SP>move&&TXT:* EXTRACT=HTM'); id2=iimGetExtract().match(/id="(\d+)"/).pop(); //alert(id2); iimSet ("r", id2); //alert (r) iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS=2 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:{{r}}&&CLASS:g_build<SP>go_field<SP>move&&TXT:*'); //выполняем 9 циклов засевания поля, каждый раз увеличивая на 1 спарсенный ранее ID поля for(a=1; a<=9; a++){ //var id3 = id2; var id2=+id2 + 1 //alert (id2) iimSet ("t", id2); //alert (t) iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:{{t}}&&CLASS:g_build<SP>go_field<SP>move&&TXT:*'); }
Что я делаю не так?
И второй момент: сбор урожая пшеницы. С этим вроде всё просто:
for(w=1; w<=9; w++){ iimSet("w", w); iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS={{w}} TYPE=DIV ATTR=CLASS:production_product*visible*production_product_3'); }
for(e=1; e<=2; e++){ for(q=1; q<=2; q++){ for(w=1; w<=9; w++){ iimSet("w", w); iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS={{w}} TYPE=DIV ATTR=CLASS:production_product*visible*production_product_3'); }}}
Отредактировано udalov (07-02-2017 12:56:59)
Отсутствует
На странице сайта озон есть товары.
Количество товаров на странице может быть разное: до 18 и до 30
Потом возникла проблема. Количество товаров на странице в зависимости от запроса товара, может быть разной.
Вопрос. Как сделать так, чтобы цифры в массиве удалялись или не брались остальные не нужные?
Например 18 товаров и нужны цифры от 1 до 18, а от 19 до 30 чтобы цифры не использовались.
Решил сделать через условие, но пропускает циклы где попадаются цифры больше 18.
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30] function compareRandom(){ return Math.random() - 0.5;} arr.sort(compareRandom) var str = arr for (i=0;i<=18;i++){ var col = content.document.getElementsByClassName('a-link-normal s-access-detail-page a-text-normal').length if (col>=str[i]){ alert(str[i]) }else{ } }
var col = content.document.getElementsByClassName('a-link-normal s-access-detail-page a-text-normal').length var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30] arr.length = col function compareRandom(){ return Math.random() - 0.5;} arr.sort(compareRandom) var str = arr for (i=0;i<=10;i++){ alert(str[i]) }
Отредактировано Алим (08-02-2017 00:10:09)
Истина в последней инстанции
Отсутствует
Алим
Можно было и без перемешивания обойтись:
var linkList = window.document.querySelectorAll("li[id*='result_']"); var a = severalRandom(0, linkList.length, linkList.length); alert(a); for (i=0; i<linkList.length; i++) { alert(a[i]) } function severalRandom(min, max, num) { var i, arr = [], res = []; for (i = min; i <= max; i++ ) arr.push(i); for (i = 0; i < num; i++) res.push(arr.splice(Math.floor(Math.random() * (arr.length)), 1)[0]) return res; }
Отредактировано karginaolga (08-02-2017 12:26:32)
Отсутствует
Подскажите, как с помощью iMacros перезагрузить firefox с автоматическим запуском скрипта на iMacros?
Отсутствует
mmmaks2004
faq для кого написан?
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Может быть, это ограничения Инстаграма на количество подписок? В любом случае, без кода макроса ответа сложно получить.
Вот код, на счет ограничения самого интаграма не знаю, я думаю если бы было ограничение то оно срабатывало по достижению определенного пика но, такая ерунда происходит то на 500 подписках, то на 100 а иногда и на 900.
VERSION BUILD=9030808 RECORDER=FX SET !ERRORIGNORE YES SET !ERRORCONTINUE YES FILTER TYPE=IMAGES STATUS=OFF TAB T=1 TAG POS=2 TYPE=BUTTON ATTR=TXT:Подписаться SET !VAR1 EVAL("Math.floor(Math.random()*10 + 38);") WAIT SECONDS={{!VAR1}}
InfSub
Отсутствует
SET !ERRORCONTINUE YES
откройте FAQ, сколько раз можно повторять, что нет такой команды
VERSION BUILD=9030808 RECORDER=FX
используйте версию iMacros'a 8.9.7, опять же, не однократно говорилось о нестабильности версии 9.0.3
Добавлено 08-02-2017 22:53:13
единственная заковыка - не подставляются полученные значения ID
в чем проблема подставить их через js, а не мучить парсер iMacros'a который скорее всего - просто воспринимает такой текст, как обычную строку, а не строку с переменной
iimPlayCode('SET !TIMEOUT_STEP 0 \n SET !ERRORIGNORE YES \n TAG POS=2 TYPE=DIV ATTR=OBJ_TYPE:3&&OBJ_ID:'+id2+'&&CLASS:g_build<SP>go_field<SP>move&&TXT:*');
а в шахматном порядке 1, 3, 5, 7, 9
скорее всего, слишком маленькая задержка между действиями и сайт просто не успевает обработать первый клик, когда происходит второй, из-за этого второй игнорируется, попробуйте поставить паузу в пол секунды между кликами
Отредактировано InfSub (08-02-2017 22:56:36)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Вот игровой сайт
сразу скажу, у меня это не работает, во всяком случае с вашими командами (речь именно о командах из цикла, сажающих пшеницу), не потому что они не верны, а просто, в моем случае, сайт их не воспринимает...
но если у вас они работают и происходит посадка пшеницы, то наверное как-то так - должно работать:
//кликаем на 1 квадрат поля и выбираем пшеницу iimPlayCode(` SET !TIMEOUT_STEP 2 TAG POS=1 TYPE=DIV ATTR=CLASS:g_build*&&OBJ_ID:*&&OBJ_TYPE:1&&TXT: WAIT SECONDS=0.5 TAG POS=1 TYPE=DIV ATTR=TXT:"Семена пшеницы" `); //парсим ID первой грядки поля после выбора пшеницы iimPlayCode(` SET !TIMEOUT_STEP 0 TAG POS=1 TYPE=DIV ATTR=OBJ_TYPE:3&&CLASS:"g_build go_field move" EXTRACT=HTM `); var id2=iimGetExtract().match(/id="(\d+)"/).pop(); //выполняем 9 циклов засевания поля, каждый раз увеличивая на 1 спарсенный ранее ID поля for(a=0; a<9; a++){ iimPlayCode(` SET !TIMEOUT_STEP 0 TAG POS=1 TYPE=DIV ATTR=CLASS:"g_build go_field move"&&OBJ_ID:${id2++}&&OBJ_TYPE:3&&TXT: `); }
var num=[63,64,65,93,94,95,123,124,125]; for(a=0; a<9; a++){ iimPlayCode(` EVENT TYPE=CLICK SELECTOR="#gm_field>DIV>DIV:nth-of-type(${num[a]})>DIV>DIV:nth-of-type(2)" BUTTON=0 `); };
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
не работает команда .trim() , какой еще командой можно убрать пустоту?, так как проверяя сколько символов в слове (алертом) он выдает аж 300, то есть само слово состоит например из 12-13 символов, остальное пустота! (слово находится где то посередине) когда исследовал элемент и убрал пустоту команды работали
var stroka=""; var odlike; odlike = "CODE:"; odlike += "SET !ERRORIGNORE YES" + "\n"; odlike += "TAG POS=1 TYPE=A ATTR=TXT:лайкнуть<SP>пост" + "\n"; odlike += "TAB T=2" + "\n"; odlike += "TAG POS=1 TYPE=BUTTON ATTR=CLASS:h-mod<SP>widget_cnt<SP>controls-list_lk" + "\n"; odlike += "WAIT SECONDS=10" + "\n"; odlike += "TAB CLOSE" + "\n"; odlike += "TAB T=1" + "\n"; //--------------------------------------------------------------------------------------- var likefoto; likefoto = "CODE:"; likefoto += "TAG POS=1 TYPE=A ATTR=TXT:лайкнуть<SP>фото" + "\n"; likefoto += "TAB T=2" + "\n"; likefoto += 'TAG POS=1 TYPE=BUTTON ATTR=class:"h-mod widget_cnt controls-list_lk"' + '\n'; likefoto += "WAIT SECONDS=10" + "\n"; likefoto += "TAB CLOSE" + "\n"; likefoto += "TAB T=1" + "\n"; //--------------------------------------------------------------------------------------- for (i = 1; i < 999; i++){ iimPlayCode("SET !EXTRACT NULL \n TAG POS=1 TYPE=DIV ATTR=CLASS:name_task EXTRACT=TXT"); stroka = iimGetLastExtract(); var newExtract=(stroka.trim()); //alert (newExtract.length); if (stroka == "Лайкнуть пост"){iimPlay(odlike);} if (stroka == "Лайкнуть фото"){iimPlay(likefoto);} }
Отредактировано volchsek (09-02-2017 15:06:37)
Отсутствует
volchsek
Отредактировано karginaolga (09-02-2017 19:07:38)
Отсутствует
karginaolga
странно все равно почему то не срабатывает хотя если проверить алертом newExtract показывает что 13 символов, если проверить строку то 180
Отредактировано volchsek (09-02-2017 20:36:23)
Отсутствует
volchsek
так вы условие измените
for (i = 1; i < 999; i++){ iimPlayCode("SET !EXTRACT NULL \n TAG POS=1 TYPE=DIV ATTR=CLASS:name_task EXTRACT=TXT"); stroka = iimGetLastExtract().replace(/\r|\n/gi, "").trim(); if (stroka == "Лайкнуть пост"){iimPlay(odlike);} if (stroka == "Лайкнуть фото"){iimPlay(likefoto);} }
Отредактировано karginaolga (09-02-2017 21:37:35)
Отсутствует
Подскажите!
Обновилcя firefox до 51.0.1 и после этого скрипты iMacros-а не могут прочитать csv-файлы.
Что-то поменялось в профиле firefox, не пойму что.
Отсутствует
mmmaks2004
уверены, что не обновился iMacros вместе с FF? (до версии 9.0.3)
если обновился, то доунгрейд до версии 8.9.7 (ссылки в FAQ)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Подскажите!
Обновилcя firefox до 51.0.1 и после этого скрипты iMacros-а не могут прочитать csv-файлы.
Что-то поменялось в профиле firefox, не пойму что.
Правила форума iMacros for FireFox пункты 1.2.1 , 1.2.2 , 1.2.3
iMacros скрипты на заказ!
Отсутствует
Всем привет!
Подскажите пожалуйста как обнулить цикл после break,из цикла выходит но alert(i) не показывает 1
var i=1; for(i=1;i<=7;i++){ i++ alert(i) iimPlayCode('SET !DATASOURCE C:\\Test.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); r=iimGetExtract() if(i > r) break; } alert(i)
Отредактировано Gergi (10-02-2017 08:54:14)
Отсутствует
Подскажите пожалуйста как обнулить цикл после break,из цикла выходит но alert(i) не показывает 1
А зачем его обнулять? При повторном вызове он всё равно начнет сначала.
for (var i = 1; i <= 7; i++) { alert(i) iimPlayCode('SET !DATASOURCE C:\\Test.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); r = iimGetExtract() if (i > r) { i=1 break; } } alert(i)
Отредактировано nikolay1987 (10-02-2017 16:02:38)
Отсутствует
Gergi
Какой из alert()'ов не показывает 1?
Первый?
Так он и не будет вам ни когда показывать 1 при таком условии...
У вас переменная i дважды увеличивается на единицу до того, как попасть в alert(), соответственно, в первом же цикле, вы получите в alert'e число 3
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub
удалено избыточное цитирование
в первом алерте не важно сколько получу,весь смысл в том что когда произойдёт бряк за циклом в алерте показало 0
InfSub
Отредактировано Gergi (11-02-2017 10:12:48)
Отсутствует
циклом в алерте показало 0
ну так пропишите i=0; перед последним alert'ом
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Подскажите есть вот такой код
VERSION BUILD=8970419 RECORDER=FX TAB T=1 URL GOTO=about:newtab URL GOTO=//192.168.1.1 WAIT SECONDS=10 FRAME NAME="ifrm" TAG POS=1 TYPE=INPUT:IMAGE ATTR=NAME:reboot&&SRC:http://192.168.1.1/bn2.gif
InfSub
Отсутствует
Scorp1978
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
ну так пропишите i=0; перед последним alert'ом
Это понятно но так не подходит,вот было бы идеально если бы перед циклом поставить i=0;
Отсутствует
Gergi
в цикле число изменилось, если вам нужен 0 после цикла - пропишите его после цикла, а не фантазируйте о том, что если бы.... тем более с вашей логикой
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует