Nagibaka, исправил ваш код в том месте где пароль, и всё заработало, как надо.
// Enter password iimPlayCode(` EVENTS TYPE=KEYPRESS SELECTOR="input[name=password]" CHARS="pass123" `);
Вот такой скрипт вышел после всех доработок. Сократил его как только можно:
Пример для номера телефона "+79037926619" с паролем "pass123".
TAB OPEN TAB T=2 URL GOTO=https://qiwi.com/ TAG POS=2 TYPE=DIV ATTR=TXT:Войти EVENTS TYPE=KEYPRESS SELECTOR="input[name=login]" CHARS="++9037926619" EVENTS TYPE=KEYPRESS SELECTOR="input[name=password]" CHARS="pass123" TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:Войти
попробуйте так:
удалено
Скринот ошибки::
RuntimeError: Can not locate element specified by selector "HTML>BODY>DIV:nth-of-type(7)>DIV>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>INPUT", line 5 (Error code: -921)
К сожалению не работает :(.
21-11-2016 09:00:19
написал вам решение на JS+iMacros.
удалено
Не работает.
Точнее не работает вторая часть скрипта. Первая работает на отлично!
Доходит скрипт до пароля. И не вводит его, вылезает ошибка.
Скриншот с ошибкой:
ReferenceError: pass123 is not defined, line 35 (Error code: -991)
P.S.: Пароль и номер телефона изменил в целях безопасности!
[color=red] удалено избыточное цитирование[/
…попробуйте также добавить 1-2 секунды ожидания после каждой команды (особенно между event) - бывают с ним проблемы иногда
Пробовал задержку. Не помогает.
После каждой стоки ставил PAUSE и отслеживал выполнение команд.
!ERRORIGNORE - тоже не помогает. Скрипт перестал останавливаться. 6 секунд пробегает бездействия, и к следующему шагу переходит.
Затем доходит до 7 строки, вводит номер телефона несколько раз подряд, не верно, на всё поле заполнения, так как команду KEYS="[39,39]" не выполнял до этого и останавливается (как-бы завис).
Проверял скрипт на 2-х разных Мозиллах и разных версиях АйМакрос, везде одинаково работает.
…проверил - у меня все работает...
Версии iMacros тоже разные, на 50-ой Мозилле стоит последняя версия
Привет всем! :)
:| Помогите разобраться с Киви. А именно, автоматизировать вход на сайт.
Написал такой скрипт.
SET !ERRORIGNORE YES TAB OPEN TAB T=2 URL GOTO=https://qiwi.com/ TAG POS=2 TYPE=DIV ATTR=TXT:Войти EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV:nth-of-type(7)>DIV>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>INPUT" KEYS="[39,39]" EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV:nth-of-type(7)>DIV>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV>DIV>DIV>INPUT" CHARS="номер телефона" EVENTS TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV:nth-of-type(7)>DIV>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(3)>DIV:nth-of-type(3)>DIV>DIV>INPUT" CHARS="пароль" TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:Войти
Открывает сайт. Нажимает кнопку "Войти". И останавливается.
Если запустить его середину (строки 6, 7, 8) в отдельности, то данная часть скрипта будет раб
Всем привет! :whiteflag:
Меня устраивает этот код, как генератор рандомного пароля:
SET !VAR1 EVAL("var i=8,w='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',r='',m=w.length;while(i--){r+=w.charAt(Math.floor(Math.random()*(m)));};")
:| Здравствуйте!
:( я просто в ужасе. Не могу никак записать скрипт. Мне надо сделать что-бы АйМакрос находясь в Яндекс почте нажал кнопку "Написать", заполнил поля кому, тема, текст письма и нажал отправить.
Казалось-бы всё просто, но так было раньше. Сейчас я только отрегулировал казалось бы процесс, но когда зашёл через другую почту то уже ничего не работает из написанного мной.
[spoiler][code]EVENT TYPE=CLICK SELECTOR="#nb-1>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV>A>SPAN>svg>rect" BUTTON=0
WAIT SECONDS=1
EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV:nth-of-type(4)>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>LABEL>DIV:nth-of-type(3)>DIV>DIV" BUTTON=0
EVENT TYPE=KEYPRESS SELECTOR="HTML>BODY>DIV:nth-of-type(2)>DIV:nth-of-type(4)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV:nth-of-type(4)>DIV>DIV>DIV:nth-of-type(2)>DIV>DIV>DIV>LABEL
:whiteflag: Привет всем!
Имеется цельное число 01835.
Необходимо чтобы АйМакрос разделил его на отдельные цифры и набрал следующий код:
TAG POS=1 TYPE=SPAN ATTR=TXT:0 TAG POS=1 TYPE=SPAN ATTR=TXT:1 TAG POS=1 TYPE=SPAN ATTR=TXT:8 TAG POS=1 TYPE=SPAN ATTR=TXT:3 TAG POS=1 TYPE=SPAN ATTR=TXT:5
Как это воплотить?
Может разбить данное число по переменным можно, или ещё как-нибудь?
P.S.: Скрипт не на js написан.
InfSub
Здравствуйте. :whiteflag:
Пере домною возникла задача. Которою не могу сам решить и прошу вашей помощи.
Написал такой скрипт, вот его начало:
SET !VAR0 EVAL("{{!LOOP}}*1") EVENT TYPE=CLICK SELECTOR="#main>TABLE:nth-of-type(2)>TBODY>TR>TD:nth-of-type(2)>TABLE:nth-of-type(3)>TBODY>TR:nth-of-type({{!VAR0}})>TD:nth-of-type(2)>A" BUTTON=0
...
*... продолжение (клики, вставки текста и так далее)
Но хотелось, что бы Аймакрос всё делал сам на 78 страницах.
Код переключения страниц на сайте, выглядит так:
TAG POS=1 TYPE=A ATTR=TXT:2 (вторая страница) TAG POS=1 TYPE=A ATTR=TXT:3 (третья страница) TAG POS=1 TYPE=A ATTR=TXT:4 (четвёртая страница)
...
*... и так далее, до 78 страницы
Даниил955447112, уже не первое замечание про поиск!
Правила форума: Не рекомендуется: Задавать вопросы, ответы на которые легко находятся поиском
например, поиск по фразе: "бесконечный цикл"
:( Не нашёл.
Есть про js, а про iim, нет ни слова.
Даниил955447112 пишетЯ думаю что проблема связана с TAB, макрос не может понять на какой вкладке он находится.
скрытый текст
Увы не работает, до этого я пробовал TAB T=1 в этом месте ставить.
[spoiler=Попробую объяснить более подробно:]Макрос находится на единственной странице, затем он кликает требуемое и открывается вторая вкладка, далее он кликает на странице что требуется, затем ему нужно закрыть 1 из 2-х вкладок, не имеет значения какую. Остаться на одной вкладке и повторить макрос заново.
Было бы всё просто если открывалась вкладка 2 всегда, тогда просто можно было заменить TAB CLOSEALLOTHERS на TAB T=2 CLOSE и проблем не было бы с выполнением.
Если скрипт запускать просто нажимая "Воспроизвести", то всё работает как надо. Нажал "Воспроизвести" всё сделалось, снова нажал "Воспроизвести" и так далее. Воспроизведение циклов по средством программной к
…:whiteflag: Здравствуйте!
Написал следующий скрипт:
SET !ERRORIGNORE YES TAG POS=1 TYPE=A ATTR=TXT:Прохождение<SP>тестов CLICK X=820 Y=338 TAG POS=1 TYPE=A ATTR=TXT:Перейти<SP>к<SP>выполнению<SP>теста TAB T=2 SET !TIMEOUT 1 SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep1{{!VAR1}} SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep2{{!VAR1}} SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep3{{!VAR1}} SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep4{{!VAR1}} SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep5{{!VAR1}} SET !VAR1 EVAL("Math.floor(Math.random()*3 + 1);") TAG POS=1 TYPE=SPAN ATTR=ID:selrep6{{!VAR1}} TAG POS=1 TYPE=SPAN ATTR=TXT:Отправить<SP>отчёт TAB CLOSEALLOTHERS
Но если я нажимаю воспроизвести цикл, то первый раз
…InfSub
:| Прошу прощения, но я всё облазил перед тем как задать вопрос. Если я что-то пропустил, то подскажите ссылку с ответом.
Нашёл только это на JS, но как это применить для Аймакроса я не знаю.
:) Здравствуйте.
Как можно сделать что бы Аймакрос удалял последний символ из EXTRACT
К примеру скопировал число 991, мне нужно что бы на выходе было число 990. То-есть последнее цифра всегда должна быть 0. Наверное можно как до добиться числа 99 на выходе, а как подставить ноль к концу я знаю. Или другой вариант подойдёт, число к примеру будет 991.74, как скопировать всё до точки -1 символ либо замена на 0, как скопировать всё до точки я знаю, но может быть есть вариант всё до точки -1 символ или замена на 0 сразу.
И второй вопрос, можно ли сделать что бы Аймакрос делил число скажем 990/100/2, в и тоге получил на выходе 4,5?
04-11-2015 12:02:08
Можно ли как то вызвать сочетание клавиш CTRL + V через iim или через js
:whiteflag: Здравствуйте!
Можно ли отсеять дубликаты скопированные аймакросом перед вставкой в поле ввода?
красный цвет - используется, только, администрацией форума
[color=#800000][i
…:whiteflag: Здравствуйте!
Как сделать чтобы аймакрос вставил электронный адрес почты в сервисе "Яндекс почта", в поле "Кому".
Все методы записи в аймакросе перебрал. Так и не смог добиться успеха.
:whiteflag: Здравствуйте! И снова аймакрос не хочет кликать :angry: на этот раз на другом сайте.
Раньше спасал клик по координатам, но координаты периодически меняются, есть другой способ кликнуть?
<input checked="checked" name="group" id="RadioButtonYandex" tabindex="undefined" value="radioctl826" type="radio">
Даниил955447112
скрытый текстВыделить кодКод:
EVENT TYPE=CLICK SELECTOR="HTML>BODY>FORM>DIV:nth-of-type(5)>DIV:nth-of-type(3)>SPAN:nth-of-type(2)" BUTTON=0 EVENT TYPE=CLICK SELECTOR="HTML>BODY>SPAN>UL>LI:nth-of-type(8)>A" BUTTON=0цифра 8 во второй строке - номер пункта в выпадающем меню
Спасибо большое, всё что вы пишете, всё работает!
Только я сделал, так: первую строку вашу взял, вторую наработанную временем свою, по той простой причине, что Яндекс с позициями "Контрольных вопросов" мудрит, иногда что-то добавляет и убирает, в итоге получилось следующее:
EVENT TYPE=CLICK SELECTOR="HTML>BODY>FORM>DIV:nth-of-type(5)>DIV:nth-of-type(3)>SPAN:nth-of-type(2)" BUTTON=0 TAG POS=1 TYPE=A ATTR=TEXT:Фамилия<SP>вашего<SP>любимого<SP>у*
Здравствуйте! :whiteflag: Возникла проблема.
При регистрации Яндекс почты аймакрос не может никак кликнуть по элементу, не по клик по объекту, не по координатам, просто обводит его синим маркером.
TAG POS=1 TYPE=SPAN ATTR=ID:hint_question_id TAG POS=1 TYPE=A ATTR=TEXT:Фамилия<SP>вашего<SP>любимого<SP>у*
:whiteflag: Здравствуйте!
Есть такая платёжная система payeer.com, на которой можно оплатить услуги разных операторов. Я в ней оплачиваю только МТС, но не могу аймакрос под неё подстроить, чтобы выполнялся платёж строго данному оператору, из-за того что там все платежи расположены на одной интернет странице по следующей схеме: слева название оператора, справа кнопка оплатить, которую аймакрос определяет как TAG POS=12 TYPE=A ATTR=TXT:Перевод и всё работало хорошо бы, если payeer периодически не добавлял операторов выше, то убирая их снова, на позиции POS=12 оказывается то Мегафон, то Билайн, и по-разу у меня уходили деньги именно им, и 2 раза платёж останавливался, так как оказывался на данной позиции перевод на карточку банков, а там совсем другое заполнение формы для платежа.
Пытался понять что происходит, когда я нажимаю кнопку перевести, устанавливал специальный плагин на Мозиллу для отслеживания js, в итоге выяснил что при нажатия кнопки перевести, происходят 3 сценария,
…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 пишет:
А так
…
:whiteflag: Здравствуйте!
У меня 2 вопроса.
Вопрос первый: можно ли что бы аймакрос вызвал команду C:\Windows\System32\rasdial.exe ?
Вопрос второй: команда сохранить текст в файл из "ЭКСТРАКТ" - SAVEAS TYPE=EXTRACT FOLDER=C:\Users\1\Desktop FILE=222.txt , а как будет сохранить из переменной !VAR0 ?
:whiteflag: Здравствуйте!
Как сделать что бы аймакрос прибавлял 6 позиций к значению TAG POS при следующем цикле воспроизведения?
Пример: нажимаю воспроизвести цикл 10 раз
нужно что бы цикл начинался с TAG POS=6 и с каждым прибавлением цикла к значению 6 прибавлялось 6
Блин ну хоть загляни в гугл, спроси, что такое сплит и что такое шифт, в яваскрипте и там же найдёшь, как получить последний элемент массива.:|
Попробуй так ... .split(',').pop()
А не подскажите, как убрать пробел после запятой?
Предположим, надо скопировать текст после запятой и пробела за ней, варианты
SET !EXTRACT EVAL("'{{!EXTRACT}}'.split(', ').pop()") и SET !EXTRACT EVAL("'{{!EXTRACT}}'.split(' ').pop()")
не работают. :(
И как сэмулировать нажатие F2 после выполнения скрипта, может знаете?
P.S.: кнопка F2 решает капчу на сайте.
:whiteflag: Здравствуйте!
Скопировать текст до запятой: SET !EXTRACT EVAL("'{{!EXTRACT}}'.split(',').shift()") .
А если нужно всё скопировать после запятой?
И второй вопрос: При некотором копировании текста с сайта и вставки теста, например в документ Microsoft Word, выходит следующее :
111111
222222
333333
444444
555555
-------------------