Demo-JavascriptDialog.iim — работа с JS окнами

Demo-JavascriptDialog.iim

В макросе Demo-JavascriptDialog.iim показано, как iMacros может взаимодействовать с всплывающими JavaScript окнами. В данном примере можно увидеть, нажатие на кнопку ОК в простых alert-окнах, а также заполнение prompt-окон.

Описание работы Demo-JavascriptDialog.iim:

Строка 1 — описывает версию (VERSION) iMacros Browser на которой был написан данный макрос.

Строка 2 — объявляется TAB о том, что работать будем в открытой вкладке (первой), если пишете для себя, то эту строку можно пропустить.

Строка 3 — закрываем все вкладки кроме активной (что бы они не повлияли на работоу сценария).

Строка 4 — открываем сайт по ссылке URL.

Строка 5 — при помощи команды ONDIALOG описываем поведение макроса, после того как в 6 строке произойдет нажатие на кнопку и появится JavaScript окно (т.е. нужно заранее описать поведение). Параметр POS определяет что кнопка (BUTTON) OK будет нажата в первом появившемся окне после выполнения 6 строки. Поскольку ничего заполнять в данном окне не надо, то оставляем CONTENT пустым.

Строка 6 — при помощи команды TAG находим первый элемент попадающий под фильтр: HTML-элемент <INPUT> c type = «BUTTON» который расположен внутри формы (<FORM>), у которой нет названия (NAME:NoFormName) с атрибутом (ATTR) value = «Popup 1» (в макросе пробел должен быть заменен на <SP>). И нажимаем на данный элемент. Примечание: в данном случае атрибут value содержит текст кнопки, который можно увидеть на сайте.

После того как выполнится команда в 6 строке, откроется такое окно:

iMacros взаимодействие с JavaScript окнами

После этого отработает команда в 5 строке.

Строки 7-8 — полностью аналогичны 5-6, с той лишь разницей, что в данном случае вызывается confirmation-окно. Если в первом случае вызывалось alert-окно, и там была только одна кнопка OK, то в данном случае кнопки две: Сancel и ОК. О том как нажать кнопку Cancel можете прочитать в статье о команде ONDIALOG.

Строки 9-10 — так же аналогичны 5-6 строкам, но тут вызывается prompt-окно, вот как оно выглядит:

iMacros работа с JavaScript окнами

У данного окна есть поле ввода данных и 2 кнопки Cancel и OK. Про выбор кнопок я расписал в предыдущем пункте, здесь стоит обратить внимание на параметр CONTENT, при помощи него команда помещает текст который вы хотите в поле ввода JS окна, в данном случае это «green». После нажимается кнопка OK.

Строки 11-14 — они говорят о том, что после нажатия при помощи TAG кнопки (14 строка), подряд откроются 3 JavaScript окна, поэтому меняя значение у параметра POS мы объявляем что будет делать с каждым окном. Получается так: нажимаем на кнопку (14 строка), после этого появляется первое (1) диалоговое окно, нажимаем на кнопку OK (строка 11), сразу после этого появляется следующее (2) окно, в нем вводятся данные (в данном случае «aqua») и нажимается кнопка OK (12 строка), теперь появляется третье (3) окно, в нем нажимается кнопка OK (строка 13).

Строка 15 — при помощи команды WAIT, в макросе Demo-JavascriptDialog.iim, iMacros ждет 3 секунды.

Строка 16 — командой TAG находим первый элемент попадающий под фильтр: HTML-элемент <INPUT> c type = «BUTTON» который расположен внутри формы (<FORM>), у которой нет названия (NAME:NoFormName) с атрибутом (ATTR) value = «Change background back…» (в макросе пробелы заменяются на <SP>). И нажимаем на данный элемент. Примечание: в конце команды используется шаблонизатор (*), это означает, что подойдут элементы INPUT с такими значениями VALUE: «Change background back in red», «Change background back и тут любой текст». То есть команда ищет только часть текста, остальная часть не важна.

Код макроса:

 

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

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