Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
Gergi
последнее предупреждение, данная тема не посвящена обучению работе на JS, и JS обсуждается, только как инструмент взаимодействия с iMacros
продолжение постинга сообщений из серии: я не могу сложить a+b и подобных по смыслу, будут удаляться как флуд
если вы не понимаете, ответы, это не дает вам право оскорблять пользователей форума
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
2.15 Производить личную переписку в общей теме. Для личной переписки есть Личный ящик
2.22 За многократное умышленное игнорирование правил раздела «Не рекомендуется» даётся замечание или учетная запись может быть заблокирована
3.13 Публичное обсуждение Администрации форума и её действий. Нарушитель получает бан на 1 месяц.
рекомендую Вам задуматься над собой, прежде чем заявлять, что помощь 2 опытных пользователей Вам не помогла и равна нулю
если, 3-летнему ребенку обьяснить, что такое электрон, он тоже, вряд ли, что-то поймет, но не потому что - плохо обьясняли, а потому что - ему не хватает знаний
у Вас месяц бана, будет время подумать и возможно, чему-нибудь научиться
InfSub
Отсутствует
d001
iimPlayCode('SET !DATASOURCE C:\\Users\\Tatyana\\YandexDisk\\iMacros\\Datasources\\resource\\1.txt\nSET !DATASOURCE_LINE 1\nSET !EXTRACT {{!COL1}}'); url = iimGetLastExtract(); iimPlayCode('URL GOTO='+url+'\nWAIT SECONDS=3') f=iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Мне<SP>нравится'); if(f>0){ iimPlayCode('SET !DATASOURCE C:\\Users\\Tatyana\\YandexDisk\\iMacros\\Datasources\\resource\\1.txt\nSET !DATASOURCE_LINE 3\nSET !EXTRACT {{!COL1}}'); url01= iimGetLastExtract(); iimPlayCode('URL GOTO='+url01+'\nWAIT SECONDS=3\nTAG POS=1 TYPE=SPAN ATTR=TXT:Мне<SP>нравится'') str=Math.floor(Math.random()*3+10); iimPlayCode('SET !DATASOURCE C:\\Users\\Tatyana\\YandexDisk\\iMacros\\Datasources\\resource\\1.txt\nSET !DATASOURCE_LINE '+str+'\nSET !EXTRACT {{!COL1}}'); f1= iimGetLastExtract(); iimPlayCode('EVENTS TYPE=KEYPRESS SELECTOR="#mail_box_editable" CHARS='+f1+') iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=BUTTON ATTR=ID:mail_box_send\nWAIT SECONDS=3\nTAG POS=1 TYPE=BUTTON ATTR=ID:mail_box_send'); }
Отредактировано Татьянa (23-06-2015 12:44:32)
Отсутствует
Вопрос следующий. В гугл+, если надо макросом подписаться (или добавиться в круги). Окошко выбора кругов всплывает, лишь если наведена мышка над кнопкой "Подписаться". Для примере, первая попавшаяся страница: https://plus.google.com/+Green-clubUa/posts
Если я макросом навожу клик по кнопке подписаться,например
TAG POS=1 TYPE=SPAN ATTR=TXT:Подписаться
, то происходит клик по кнопке, но не всплывает окно выбора кругов и невозможно кликнуть по какому-то из них. Реакция идёт только на наведение мышки.
Подобрал, что клик по списку с добавлением в круги "Подписки" (Там есть также "Друзья" и другие) должен идти строкой:
TAG POS=1 TYPE=SPAN ATTR=ARIA-HIDDEN:true&&ARIA-LABEL:Подписки*
Но появляется это лишь при наведении мышки.
Можно ли как-то обойти это, вызвать всплывание окна выбора кругов без мышки? Понятно, что кликерами можно, но для этого нужно обязательно мозиллу на переднем плане и прочие заморочки. Макросом было бы проще.
Что скажут гуру?
Отсутствует
в д002 - д010 меняются только *1.txt (2-10)
слегка оптимизировал ваш код и сделал выполнение всего из 1-го файла:
var i,f,url,str,path; for(i=1;i<=10;i++){ path='{{!FOLDER_DATASOURCE}}\\resource\\'+i+'.txt'; if(iimPlayCode('SET !DATASOURCE '+path+'\nSET !DATASOURCE_LINE 1\nURL GOTO={{!COL1}}\nWAIT SECONDS=3\nTAG POS=1 TYPE=SPAN ATTR=TXT:Мне<SP>нравится')>0){ iimPlayCode('SET !DATASOURCE '+path+'\nSET !DATASOURCE_LINE 3\nURL GOTO={{!COL1}}\nWAIT SECONDS=3\nTAG POS=1 TYPE=SPAN ATTR=TXT:Мне<SP>нравится'); iimPlayCode('SET !DATASOURCE '+path+'\nSET !DATASOURCE_LINE '+Math.floor(Math.random()*3+10)+'\nEVENTS TYPE=KEYPRESS SELECTOR="#mail_box_editable" CHARS={{!COL1}}'); iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=BUTTON ATTR=ID:mail_box_send\nWAIT SECONDS=3\nTAG POS=1 TYPE=BUTTON ATTR=ID:mail_box_send'); }; };
З.Ы. - можно еще оптимизировать код, но сейчас, к сожалению, нет времени
проблема в том, что вызов js из js - часто отрабатывает криво, и проблема не в содержимом файла, а в самой процедуре вызова js из другого js - так что, это баг имакроса
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Большое спасибо!!!
iimPlayCode('SET !DATASOURCE '+path+'\nSET !DATASOURCE_LINE 3\nSET !EXTRACT {{!COL1}}'); go = iimGetLastExtract(); alert(''+go+''); iimPlayCode(''+go+'');
TAG POS=1 TYPE=A ATTR=TXT:ВКонтакте: Добро пожаловать
"TAG POS=1 TYPE=A ATTR=TXT:ВКонтакте:<SP>Добро<SP>пожаловать"
Отредактировано Татьянa (23-06-2015 16:30:52)
Отсутствует
Татьянa
iimPlayCode(go.replace(/ /g,"<SP>"))
Команда репласе, означает заменить и дальше указываешь что на что менять.
В данном случае пробел на <SP>
LeonidKotv
Отключи стили на странице и попробуй ещё раз клик ко кругам записать.
Это не важно скрыты они или нет, главное что они есть на странице.
имакрос и по скрытым кликнет, главное команду/клик правильно записать.
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
iimPlayCode('SET !DATASOURCE '+path+'\nSET !DATASOURCE_LINE 3\nSET !EXTRACT {{!COL1}}'); go = iimGetLastExtract(); iimPlayCode(go.replace(/ /g,"<SP>")); alert(''+go+'');
Отсутствует
Алертом ты простой go выводишь , а не go.replace
alert(go.replace(/ /g,"<SP>"));
И не нужны пустые кaвычки везде, зaчем ты их всовываешь, в них(в кавычках) же ничего нету, они не нужны
alert(''+go+'');
alert(go);
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Эх, теперь все работает но теперь везде <SP>
TAG<SP>POS=1<SP>TYPE=A<SP>ATTR=TXT:ВКонтакте:<SP>Добро<SP>пожаловать
А если сделать в 3й строке не TAG POS=1 TYPE=A ATTR=TXT:ВКонтакте:<SP>Добро<SP>пожаловать ,оставить только ВКонтакте:<SP>Добро<SP>пожаловать, а этот кусочек в код всунуть в скрипт TAG POS=1 TYPE=A ATTR=TXT:
iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:(go.replace(/ /g,"<SP>"))');
Вот так вот, но видимо глупости какие то получились у меня
Отсутствует
Почти правильно, только go это переменная и её нужно за кавычки вынести
iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:'+(go.replace(/ /g,"<SP>")) );
Отредактировано PRESIDENT (23-06-2015 20:44:07)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Здравствуйте!
Как сделать что бы аймакрос прибавлял 6 позиций к значению TAG POS при следующем цикле воспроизведения?
Пример: нажимаю воспроизвести цикл 10 раз
нужно что бы цикл начинался с TAG POS=6 и с каждым прибавлением цикла к значению 6 прибавлялось 6
SET !VAR0 EVAL("{{!LOOP}}*2-1") SET !LOOP {{!VAR0}} ADD !VAR0 -1 TAG POS=1 TYPE=DIV ATTR=ID:mid-{{!VAR0}} EXTRACT=TXT SET !VAR1 {{!EXTRACT}}
Отредактировано Даниил955447112 (24-06-2015 04:53:27)
Отсутствует
Привет.
В iMacros вроде должна быть функция нажатия клавиш.
тут нашел коды клавиш: https://forum.mozilla-russia.org/viewto … 44#p608244
Но вот сам код имитации не могу найти.
Все что на просторах инета нашел - не работает(
Как минимум это можно реализовать через что-то подобное:
PRESIDENT, Вы полюбому знаете как на JS это реализовать. Я в вас верю. Поможете?
Удалено
Отсутствует
spy686
имитация, работает в IE
в FF реализовано - только через EVENT
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Даниил955447112
Ты же сам себе ответил, твой второй скрипт уже готовое решение.
Вместо твоих цифер подставляй {{!VAR0}}
...
TAG POS={{!VAR0}} TYPE=TD ATTR=TXT:* EXTRACT=TXT
for (i=1; i<=61; i+=6){ // <--- Цикл от 1 до 60 с шагом 6 iimPlayCode('TAG POS='+i+' TYPE=TD ATTR=TXT:* EXTRACT=TXT'); text=iimGetLastExtract(); alert(text) ... }
spy686
Не совсем понял задачу, тебе текст на сайте нужно ввести или для чего нажатие иметировать ?
Отредактировано PRESIDENT (26-06-2015 15:11:32)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Коллеги, добрый день!
Возник вопрос: можно ли как-то заставить iMacros сохранить на компьютер txt или csv файл с определенным текстом?
Не извлеченным с веб-страницы, а прописанным заранее. Например, чтобы отработав, такой макрос создал в определенной папке файл file1.txt, внутри которого будет надпись "Макрос отработал"
Буду благодарен за помощь.
Отсутствует
Jawdet
var txt='Макрос отработал'; iimPlayCode('SET !EXTRACT '+txt.replace(/ /g,"<SP>")+'\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=test.txt')
Отредактировано PRESIDENT (24-06-2015 21:14:23)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Jawdet
скрытый текстВыделить кодКод:
txt='Макрос отработал'; iimPlayCode('SET !EXTRACT '+txt.replace(/ /g,"<SP>"))+'\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=test.txt')
Говорит: can not parse macro line: txt='Макрос отработал'; (Error code: 910)
Можно точный код самого iim файла?
Отсутствует
Jawdet
Ой извиняюсь синтаксическая ошибка
после репласе два раза скобка закрывается
... '+txt.replace(/ /g,"<SP>"))+'\n ...
нужно один раз
... '+txt.replace(/ /g,"<SP>")+'\n ...
или вообще без репласе, помоему новые версии с пробелом уже дружат, ток ещё одни кавычки надо
Отредактировано PRESIDENT (26-06-2015 01:39:02)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Вопрос первый: можно ли что бы аймакрос вызвал команду C:\Windows\System32\rasdial.exe ?
Пробуй
Дополнительные возможности:
запуск внешней программы с аргументами из js-скрипта:
из https://forum.mozilla-russia.org/viewtopic.php?id=66458
Вопрос второй: команда сохранить текст в файл из "ЭКСТРАКТ" - SAVEAS TYPE=EXTRACT FOLDER=C:\Users\1\Desktop FILE=222.txt , а как будет сохранить из переменной !VAR0 ?
А так нельзя ?
Удалено
Отсутствует
PRESIDENT пишет:
Ты же сам себе ответил, твой второй скрипт уже готовое решение.
Вместо твоих цифер подставляй {{!VAR0}}
Нет, там надо было по другому, а именно:
Есть такая функция в аймакрос, "Воспроизвести цикл" называется, когда аймакрос воспроизводит один скрипт несколько раз, и нужно было что бы при каждом новом цикле TAG POS прибавлял к значению 6 ещё 6, и я не знал как это сделать, так как в похожем скрипте, аймакрос прибавлял +2 к значению, скрипт написан криво, но он выполнял требуемое, а в этом вместо прибавления +2, требовалось только +6, и дело тут было в правильном SET !VAR0 EVAL("{{!LOOP}}*2-1").
Сам скрипт, который при каждом новом цикле прибавляет +2 и требовалось его изменить что бы прибавлял +6 только
SET !VAR0 EVAL("{{!LOOP}}*2-1") SET !LOOP {{!VAR0}} ADD !VAR0 -1 TAG POS=1 TYPE=DIV ATTR=ID:mid-{{!VAR0}} EXTRACT=TXT SET !VAR1 {{!EXTRACT}}
spy686 пишет:
А так нельзя ?
скрытый текст
Именно так я и написал:
SET !EXTRACT {{!VAR0}}{{!VAR4}}{{!VAR5}} SAVEAS TYPE=EXTRACT FOLDER=C:\Users\1\Desktop FILE=222.txt
Отредактировано Даниил955447112 (26-06-2015 09:08:45)
Отсутствует
Есть кусочек кода...
EVENT TYPE=CLICK SELECTOR="#i123456789>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456790>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456791>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456792>DIV:nth-of-type(3)>H3>A" BUTTON=0
нужно сократить /// EVENT TYPE=CLICK SELECTOR="*>DIV:nth-of-type(3)>H3>A" BUTTON=0
и зациклить.не знаю как
Отредактировано inkognitoman (26-06-2015 12:46:47)
Отсутствует
скрытый текстЕсть кусочек кода...Выделить кодКод:
EVENT TYPE=CLICK SELECTOR="#i123456789>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456790>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456791>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456792>DIV:nth-of-type(3)>H3>A" BUTTON=0Таких элементов на странице = 50
нужно сократить /// EVENT TYPE=CLICK SELECTOR="*>DIV:nth-of-type(3)>H3>A" BUTTON=0
и зациклить.не знаю как
var i; for(i=123456789;i<=123456839;i++){ iimPlayCode('EVENT TYPE=CLICK SELECTOR="#i'+i+'>DIV:nth-of-type(3)>H3>A" BUTTON=0'); } или for(i=789;i<=839;i++){ iimPlayCode('EVENT TYPE=CLICK SELECTOR="#i123456'+i+'>DIV:nth-of-type(3)>H3>A" BUTTON=0'); }
Отредактировано Татьянa (26-06-2015 13:21:57)
Отсутствует
Татьянa
Хорошо , а если так?
EVENT TYPE=CLICK SELECTOR="#i843134535>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i123456790>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i5468498987>DIV:nth-of-type(3)>H3>A" BUTTON=0 EVENT TYPE=CLICK SELECTOR="#i8453345834>DIV:nth-of-type(3)>H3>A" BUTTON=0
читаем правила оформления постов!
InfSub
Отредактировано inkognitoman (26-06-2015 13:27:54)
Отсутствует