SEARCH

Команда iMacros SEARCH

В отличии от команды TAG, которая пользуется объектной моделью документа (DOM), команда SEARCH ищет текст или подстроку в исходном коде страницы, используя регулярное выражение.

Таким образом, SEARCH также «видит» комментарии в коде страницы и может извлекать информацию из скрытых объектов (style=»display: none;»)

Синтаксис:

SEARCH SOURCE=(TXT|REGEXP) IGNORE_CASE=YES EXTRACT=$1

Примечания:

    • По умолчанию IGNORE_CASE=NO

    • Извлекаемая информация всегда имеет тип текст (text), так как команда iMacros SEARCH работает только с исходным кодом страницы.

    • $1 относится к синтаксису регулярных выражений. Таким образом, использование EXTRACT требует использования атрибута REGEXP.

    • Атрибут REGEXP работает со стандартными регулярных выражений (часто называют regex или regexp).

    • В данный момент параметр POS не поддерживается, поэтому находится только первое совпадение на странице.

    • iMacros Browser и дополнение для IE для работы с регулярными выражениями используют .NET и так как обратный слэш используется в специальных символах, поэтому он должен быть экранирован. Например: чтобы указать \S в вашем регулярном выражении, вы должны использовать \\S.

    • iMacros для Firefox использует для работы с регулярными выражениями JavaScript, который не поддерживает записи с просмотром назад: «(?<=ABC)».

Примеры:

Данный макрос проверяет наличие кода Google Analytics на сайте iMacros, а затем извлекает идентификатор счетчика и это все с помощью команды iMacros SEARCH:

URL GOTO=http://imacros.net/

'Найти GA объект

SEARCH SOURCE=TXT:"'GoogleAnalyticsObject'"

'Найти GA объект, игнорировать регистр SEARCH SOURCE=TXT:"'googleanalyticsobject'"

IGNORE_CASE=YES

'Использование регулярного выражения для извлечения данных SEARCH SOURCE=REGEXP:"ga\\('create', '([^']+)', 'imacros.net'\\)"

EXTRACT="Код счетчика $1" 'Отображение извлеченных данных PROMPT {{!EXTRACT}}

Примечание:

REGEXP:»ga\\(‘create’, ‘([^’]+)’, ‘imacros.net’\\)» означает:

    • найти слово ga за которым следует открытие скобки \\(и первое значение параметр ‘create’, а затем через запятую и пробел начинается следующий параметр

    • (отсюда начинается извлекаться текст

    • [^’] означает любой символ кроме одинарной кавычки (‘), + значит повтор один или более раз

    • ) окончание извлекаемого текста

    • после этого идет одинарная кавычка (‘)

    • => извлекается второй аргумент в счетчике GA, расположенный между ‘…’, который и является нужным нам идентификатором

    • Результат извлечения хранится в $1, который затем присваивается переменной !EXTRACT

Следующий пример:

поиск js сценария, который внутри двойных кавычек («), используем \»

SEARCH SOURCE=TXT:"<script src=\"/js/datevalidator.js\""