DS — команда для работы с Flash объектами

Команда DS iMacrosКоманда iMacros DS (DirectScreen) — это последнее решение, когда остальные команды не справляются! Она имитирует обычный «клик» мыши в окне браузера. Чтобы активировать данную технологию, необходимо во время записи, нажмите на кнопку Click Mode и в появившемся диалоговом окне выберите Use DirectScreen Commands.

Обычно DS в iMacros используется для автоматизации работы с веб-страницами, которые содержат не HTML элементы, а «сложные» технологии, такие как Java applets, Adobe Flash, Adobe Flex, Microsoft Silverlight или ActiveX контроль. Также можно автоматизировать даже самый сложный сайт, основанный на AJAX.

Работает в: iMacros Browser icon Internet Explorer icon

Flash приложение симуляции калькулятора на картинке ниже.
iMacros в работе

Пример сложного (нестандартного) JavaScript — всплывающее диалоговое окно, которое лучше автоматизированной с помощью DirectScreen.

DirectScreen mode

Запись DirectScreen команды:

При работе не с HTML технологиями, такими как Flash, Java или другими, в стандартном режиме, iMacros не может записать действия. Чтобы записать макрос на Flash или Java applet, вы должны активировать технологию DirectScreen, для этого необходимо:

  1. Нажмите кнопку Click Mode
    Команда iMacros DS
  2. В открывшемся окне выберите Use Direct Screen Commands …
  3. Теперь можете записывать необходимые действия

iMacros записывает действия клавиатуры и мыши, записывается много DS и WAIT команд (в зависимости от сложности выполняемых действий). Далее объясняется, почему.

Как определить координаты?

Есть несколько способов определения координат для команды DirectScreen:

1. Абсолютное значение (жесткая привязка к осям):

2. Центр HTML элемента. Элемент берется с предыдущей команды TAG. Свойство особенно полезно для использования с AJAX элементами.

3. Центр изображения, определяется по предыдущей команде IMAGESEARCH. Изображение может быть любым, нет ограничения по встроенными HTML изображениям.

Почему записалось много WAIT команд?

Настройки по умолчанию:

DirectScreen iMacros
Если вы используете настройки по умолчанию, iMacros записывает действия на стандартной скорости, то есть записываются не только нажатия, но и как долго вы ждете между действиями (например, «выбор элемента», «нажатие левой кнопки мыши», «отпускание левой кнопки мыши «, и т. д.). Эти временные интервалы записываются при помощи команды WAIT, которая записывается iMacros автоматически. Таким образом, applet (втроенный скрипт или приложение) имеют достаточно времени, чтобы среагировать на ваши действия.

Если вы заметили, что applet срабатывает быстрее, вы можете попробовать сократить время ожидания путем редактирования макроса. Но обратите внимание, что applet обычно требуется некоторое время, чтобы обновиться. Как альтернатива WAIT можно использовать команду IMAGESEARCH, которая сканирует экран браузера до того, пока не появится указанное изображение (например, изображение кнопки или текст).

Ввод текста:

Когда используется режим записи команд iMacros DS, DS также записывает ввод текста с помощью команды «DS CMD=KEY». Вы можете использовать команду {BACKSPACE}, чтобы перезаписать существующий текст. Вот пример:

Синтаксис:

Параметры:

  • CMD
    Выполняемая команда/действие

    • Команды:
      1. CLICK
      Ведет себя как обычный «клик». Технически это сочетание команд MOVE, LDOWN, LUP и KEY.
      2. LDBLCLK
      Имитирует двойной щелчок левой кнопкой мыши. При записи с включенной опцией Record all DirectScreen commands, гарантируется правильная последовательность команд при воспроизведении. При использовании Record only mouse clicks LDBLCLK не записывается, но вы можете вручную добавить следующую последовательность команд которая имитирует двойной щелчок: LDOWN, LUP, LDBLCLK, LUP.
      3. LDOWN
      Имитирует нажатие левой кнопки мыши (нажатие и удержание).
      4. LUP
      Отпускание нажатой левой кнопки мыши (логическое продолжение команды LDOWN).
      5. MOVETO
      Перемещение указателя (кнопка нажата)
      6. MDOWN
      Имитация нажатия средней кнопки мыши (нажатие и удержание).
      7. MUP
      Отпускание нажатой средней кнопки мыши (логическое продолжение команды MDOWN).
      8. MDBLCLK
      Двойной щелчок средней кнопкой.
      9. RDOWN
      Имитация нажатия правой кнопки мыши (нажатие и удержание).
      10. RUP
      Отпускание правой кнопки.
      11. RDBLCLK
      Двойной щелчок правой кнопки.
      12. SCREENSHOT (начиная с iMacros v7!)
      Создание скриншота. Эта команда полезна для снятия скриншотов апплетов, когда нормальная функция создания скриншот не работает. Путь для сохранения скриншотов задается в атрибуте, т.е.

      Координаты X/Y могут быть где угодно, но должны быть внутри области, в которой нужно сделать скриншот. Так что, если вам нужен скриншот страницы с Java-приложением, координаты должны быть где-то внутри этого приложения, в противном случае эта область останется черной. Несколько скриншотов могут быть объединены в один с помощью команды SCREENSHOTINCLUDE.
    • Действия:
      Ввод текста, нажатие клавиш на клавиатуре. Укажите текст или ключи, чтобы воспользоваться параметром CONTENT. Специальные ключи для команды KEY:
      1. {BACKSPACE}
      Удаляет один символ. Используйте повтор команды {BACKSPACE}, если надо удалить несколько символов или CONTENT=#ERASEALL#, чтобы очистить все поле.
      2. {ENTER}
      Нажатие клавиши Enter.
      Примечание: клавиши-модификаторы {SHIFT}, {CTRL} и {ALT} в настоящее время не поддерживается, а также ни {TAB}, ни {ESC}, ни другие, не упомянутые здесь.
  • CONTENT
    Определяет содержание для отправки выбранного элемента. Укажите CONTENT=#ERASEALL#, чтобы очистить все поле.
    Пример:

13 Комментариев

  1. Дмитрий

    Как соединить(сохранить) 2 скриншота, в один файл(скриншот)или как сделать из двух строк, один скриншот ?
    Вроде есть команда SCREENSHOTINCLUDE но как ей пользоваться не знаю.
    Пример:
    ONDOWNLOAD FOLDER=C:\2\ FILE=1.jpg
    TAG POS=1 TYPE=IMG ATTR=ID:cp_Task CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
    TAG POS=1 TYPE=SPAN ATTR=ID:cp_ion CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT

    Спасибо!

    1. Владислав (Автор записи)

      Здравствуйте, такой команды нет. Можно сделать скриншот всего сайта или как вы хотите: 2 отдельных скриншота объединить в 1, но нужно использовать PHP.

  2. Светлана

    Здравствуйте! Подскажите пожалуйста, где находится кнопка “Click Mode”. Я весь iMacros перерыла и почти весь гугл заодно. ну нигде нет такой кнопки(((

    1. Владислав (Автор записи)

      Здравствуйте, в данный момент кнопка «Click Mode» называется «Record options», которая находится на вкладке «Запись». Будьте внимательны, данная команда работает только в iMacros браузер и в Internet Explorer.

  3. artem

    подскажите, а как всетаки в firefox симиттировать нажатие enter?

    1. Владислав (Автор записи)

      EVENT TYPE=KEYPRESS SELECTOR=* KEY=13

  4. рОМА

    VERSION BUILD=8961227 RECORDER=FX
    TAB T=1
    URL GOTO=http://socgain.com/elike
    TAG POS=1 TYPE=A ATTR=TXT:Открытьстраницуипоставитьлайк
    TAB T=2
    DS CMD=LDBLCLK X=613 Y=458
    TAB CLOSE
    TAB T=1

    НЕ РАБОТАЕТ

    1. Владислав (Автор записи)

      Здравствуйте, обратите внимание, что команда DS работает только в браузере iMacros и Internet Explorer.

  5. Александр

    здравствуйте. как вставить случайную строку из текстового файла?

    1. Владислав (Автор записи)

      Здравствуйте, такой же вопрос задавал vendetta 08.04.2017 в статье EVAL — то, чего нам не хватало, я там на него уже отвечал.

  6. MelaniT

    Доброго времени суток всем.Пожалуйста ответьте кто знает,iMacros сможет распознать дублирующую картинку либо изображение и кликнуть.Пожалуйста напишите макрос если это возможно и укажите сколько будет стоить Ваша работа.Алгоритм такой через некоторое время появляются изображения,их пять ,одно изображение главное,задающее задание кликнуть по такому-же изображению из четырех появывшихся изображений,они располагаются чуть левее основного изображения.Это могут быть цифры либо различные рисунки.Надо так чтобы скрипт оценил изображение крайнее левое и кликнул по такому-же изображению из четырех представленных находящихся левее.Заранее спасибо

    1. Владислав (Автор записи)

      Здравствуйте, iMacros такого не умеет. Могу предложить вам два варианта. 1)работать при помощи antigate 2)попробовать реализовать с помощью поиска картинок в гугле

  7. игорь

    Здравствуйте подскажите как сделать зажатие лкм на 5 секунд?

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *