IMACROS Как выполнять выборочные команды в файле макроса iim

Иметь следующий код в IIM

TAB T=1
URL GOTO=www.abc. com
EVENT TYPE=CLICK SELECTOR="16681" BUTTON=4
EVENT TYPE=CLICK SELECTOR="35353" BUTTON=1
EVENT TYPE=CLICK SELECTOR="26541" BUTTON=2
EVENT TYPE=CLICK SELECTOR="32342" BUTTON=1
EVENT TYPE=CLICK SELECTOR="04554" BUTTON=3
TAG POS=1 TYPE=A ATTR=TXT:CLICKSELECT
TAG POS=2 TYPE=A ATTR=TXT:CLICKSELECT

Выше есть 5 команд EVENT, между другими командами. Вместо того, чтобы выполнять все команды EVENT при каждом запуске IIM, нужно, чтобы только некоторые из них, например. Обрабатываются 3 случайные команды EVENT, а не все.

Нужен для того, чтобы клики этой команды EVENT происходили случайное количество раз и не все одинаково Спасибо


person SuperUserMan    schedule 10.12.2014    source источник
comment
Я сильно сомневаюсь, что кто-то может сделать это без JavaScript.   -  person Shugar    schedule 11.12.2014
comment
@Shugar Я, если получу решение с Javascript ... не могли бы вы помочь, пожалуйста   -  person SuperUserMan    schedule 12.12.2014


Ответы (2)


вы можете использовать код макроса iim следующим образом:

для каждой кнопки случайным образом сгенерируйте идентификатор селектора и установите вероятность, добавив в массив больше нулей.

SET !VAR1 EVAL("var letters = ['16681','0','0']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 3)]}; string")

а затем вызовите событие с включенным флагом игнорирования ошибки

EVENT TYPE=CLICK SELECTOR={{!VAR1}} BUTTON=4  

сделайте это для каждой кнопки, и вы получите (в этом примере) шанс 1/3 для каждой кнопки, которая будет нажата.

Если вы настроите рандом так, чтобы он содержал все 5 опций кнопок с некоторыми нулями, и запустите его, вы также можете получить два щелчка по одной и той же кнопке.

person Poyke    schedule 02.08.2015

person    schedule
comment
Здравствуйте, извините за поздний ответ, но есть серьезные семейные проблемы. хотя я еще не пробовал ваш код ... я чувствую, что он работает нормально и будет работать ... но есть проблема. На самом деле этих команд EVENT, которые у меня есть в IIm, не просто 4-5 (скажем, 50-100), и мне приходится работать с 20-30 такими iims на регулярной основе. Так что мне будет нелегко скопировать это EVENT. код такого количества строк и опубликовать в var clkSelArr (кроме случаев, когда вы скажете мне какой-то автоматический способ: P). Итак, что вы посоветуете в таком случае. - person SuperUserMan; 30.12.2014
comment
Я могу легко преобразовать код IIM в JAVASCRIPT, используя автоматизированный инструмент. Но добавление всех этих чисел для голосования против принятия var clkSelArr было бы сложным процессом, как вы видите :( - person SuperUserMan; 30.12.2014
comment
Единственное, что я могу предложить, это использовать csv-файл, чтобы сохранить все необходимые значения для этих команд EVENT и прочитать их в переменной-массиве ‘clkSelArr’. Что касается «20-30 таких iims» и конвертации в «.js»: может быть, было бы проще определить переменные с помощью «iimSet()» и запускать свои «iims» с iimPlay(macroNN.iim) без конвертации. Но, конечно, все зависит от ваших навыков… - person Shugar; 02.01.2015
comment
Спасибо за ответ. есть ли простой способ скопировать эти 50-100 идентификаторов событий из каждого обычного кода 30-40 IIM и поместить их в JS, как вы и планировали. Можно ли это сделать как-то проще, чем делать все вручную? - person SuperUserMan; 02.01.2015
comment
Советую связаться со мной по электронной почте ( [email protected] ) с целью более точно определить проблему и общаться в более удобной форме. - person Shugar; 03.01.2015