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\""