SEARCH — поиск в коде страницы
Команда iMacros SEARCH ищет текст или подстроку (используя регулярное выражение) в исходном коде страницы, в отличии от команды TAG, которая пользуется объектной моделью документа (DOM). Таким образом SEARCH также «видит» комментарии в коде страницы и может извлекать информацию из скрытых объектов (style=»display: none;»)
Работает в:
Синтаксис:
1 |
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:
1 2 3 4 5 6 7 8 9 |
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 сценария, который внутри двойных кавычек («), используем \»
1 |
SEARCH SOURCE=TXT:"<script src=\"/js/datevalidator.js\"" |