EVENT — последняя помощь

Команда EVENT iMacros

Команда EVENT iMacros — это новая команда для автоматизации управления веб-элементами, с которыми не может справиться классический TAG. Давайте теперь рассмотрим, с чем даная команда может нам поочь:

  • Drag & Drop;
  • Перетаскивание ползунка;
  • Не стандартный выбор даты;
  • Динамическая drop — down область.

Из своей практики могу отметить, что EVENT справляется с написанием комментариев на VK.com, в то время, как TAG там бесполезен.

Для активации режима записи эвентов, нажмите Record, затем в блоке Recording mode смените радио-баттон на Experimental event recording mode.

Работает в: iMacros Browser icon Internet Explorer icon Mozilla Firefox icon Google Chorme icon

Синтаксис:

EVENT TYPE=тип [SELECTOR|XPATH]=местоположение [BUTTON|POINT|CHAR|KEY] = [кнопка|точка|символ|кнопка] [MODIFIERS=модификатор]

Параметры:

  • TYPE
    Тип события для выполнения команды. Допускаются следующие типы:

    1. События мыши:
      • MOUSEDOWN — нажать кнопку мыши над элементом;
      • MOUSEMOVE — движение мыши над элементом;
      • MOUSEUP — кнопка мыши отпущена над элементом;
      • CLICK — клик по элементу (CLICK = MOUSEDOWN + MOUSEUP);
      • DBLCLICK — двойкное нажатие.
    2. События клавиатуры:
      • KEYDOWN — нажатие клавиши клавиатуры;
      • KEYUP — отпускание клавиши клавиатуры;
      • KEYPRESS — данное событие возникает сразу после KEYDOWN (в повседневной жизни при нажатии на любую клавишу на клавиатуре, происходят следующие действия: KEYDOWN -> KEYPRESS -> KEYUP, на русском примерно так: нажать -> нажата -> отпустить).
  • SELECTOR или XPATH
    В данном пункте необходимо локализовать элемент, над которым будем производить манипуляции, на странице. Это может быть как XPATH, так и CSS-селектор.
  • BUTTON, POINT, CHAR, или KEY
    Выбор какого либо элемента зависит от того, какой тип (TYPE) события используется. Событиям мыши необходимы BUTTON (кнопка на странице) или POINT (точка/координаты на странице). События клавиатуры: CHAR (символ) или KEY (номер клавиша на клавиатуре).

    MOUSEDOWN, CLICK и DBLCLICK нужна BUTTON (0 — по умолчанию или левая кнопка мыши, 1 — средняя кнопка мыши, 2 — вторая или правая кнопка мыши).
    MOUSEUP и MOUSEMOVE используют POINT вида «(245,186)».
    KEYDOWN, KEYUP и KEYPRESS используют CHAR (печатаемые символы, вида «п» или «Q») или KEY (непечатаемые клавиши клавиатуры, как пример стрелка вверх, вида KEY=40).

  • MODIFIER
    Комбинации CTRL, ALT, SHIFT, META. Клавиши держутся нажатыми во время событий мыши. Несколько модификаторов разделяются при помощи запятой, т.е. MODIFIERS=»ctrl,shift».

Примечание:

События клавиатуры которые используют KEY поддерживаются только в дополнении iMacros для Firefox.
EVENTS сборники собирают EVENT команды одного и того же типа и на одном целевом элементе, поэтому при перемещении мыши по пути записывается всего одна команда EVENTS, где точки, определяющие путь даны в виде списка: POINTS=»(27,154),(26,154),(25,154)».

Примеры:

URL GOTO=http://demo.imacros.net/TestPages/ForceDirectedGraph.aspx
FRAME NAME=iframeFDgraph
EVENT TYPE=MOUSEDOWN SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" BUTTON=0
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINTS="(559,222),(558,222),(557,222),(555,223), (554,224),(551,224)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINTS="(546,227),(536,232),(534,234),(523,243),(515,255),(512,259),(510,263),(500,282),(499,285),(493,300),(492,304),(492,306),(488,321),(487,323),(487,324),(487,326),(486,327),(483,336)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>line:nth-of-type(4)" POINTS="(481,338),(481,339)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINTS="(480,340),(479,342),(475,347),(475,348)"
EVENT TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINT="(474,350)"
EVENT TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg" POINT="(473,351)"
EVENTS TYPE=MOUSEMOVE SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINTS="(472,353),(470,355),(469,357),(468,359),(467,360),(466,360)"
EVENT TYPE=MOUSEUP SELECTOR="HTML>BODY>svg>g:nth-of-type(10)>circle" POINT="(466,360)"

Используйте команду CLEAR, чтобы локальные данные в кэше не повлияли на измерение времени отклика веб-сайта:

 URL GOTO=https://moqups.com/#!/
 EVENT TYPE=MOUSEDOWN SELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV" BUTTON=0
 EVENTS TYPE=MOUSEMOVE SELECTOR="#preview-svg>svg>svg>svg>foreignObject>DIV" POINTS="(131,254),(132,254),(134,254),(136,255),(139,256),(142,256),(147,256),(153,257),(160,257),(169,258),(190,258)"
 EVENT TYPE=MOUSEMOVE SELECTOR="#containment" POINT="(204,257)"
 EVENT TYPE=MOUSEUP POINT="(386,254)"

Включение режим записи EVENT:

iMacros EVENT

Запись Drag&Drop события:

EVENT TYPE

Запись выбора даты и времени:

Команда EVENT iMacros

Запись выбор внутри aJax раскрывающегося списка:

iMacros

4 Комментария

  1. Bogdan

    IMACROS Помогите!:
    Здраставуйте, как сделать следующее:
    Открыть любую ссылку например http://vk.com, не ждать полной загрузки и сразу остановить загрузку?

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

      Здравствуйте.

      SET !ERRORIGNORE YES
      SET !TIMEOUT_PAGE 1
      URL GOTO=http://...
      SET !TIMEOUT_PAGE 60
      ...

      В результате iMacros дает 1 секунду на загрузку страницы, после переходит к выполнению следующей команыд. Еще раз задавая !TIMEOUT_PAGE я возвращаю начальные настройки.

  2. вававав

    передрать с сайта аймакос много ума не нужно

    как не изошрялся но так и не получилось сделать емуляцию нажания
    ентер

    EVENT TYPE=KEYDOWN SELECTOR=»#react-root>DIV>>INPUT» KEY=13
    болт !

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

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

      По поводу вашего примера: скорее всего, тут не обязательно эмулировать нажатие Enter, возможно вам нужно или перенести строку или отправить данные.

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

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