Команда iMacros SEARCH Команда SEARCH ищет текст или подстроку в исходном коде страницы, используя регулярное выражение. В отличии от команды TAG,
которая пользуется объектной моделью документа (DOM).
Таким образом
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\"" |