Automator: использование Cmd F в режиме «наблюдай за мной» и попытка принимать решения на основе результатов

3

Используя automator, я перешел на веб-сайт, на котором требовался пароль, поднял страницу и мне нужно найти слово на этой странице. Скажем, слово «Flowmaster», например. Я заставил Automator сделать «наблюдай за мной» и набрал Cmd-F, чтобы найти эту страницу. Я набираю flowmaster, и он возвращает в командной строке прожектора 0 совпадений.

Допустим, я хочу, чтобы он продолжал повторный поиск на странице, и когда слово «flowmaster» подходит как совпадение, пусть оно отправит мне электронное письмо, чтобы предупредить меня о том, что оно находится на странице. Когда у меня есть Automator «получить текст с веб-страницы» или «получить содержимое веб-страниц», он просто возвращает заголовок страницы или начальную страницу веб-сайта.

Чтобы показать вам, что я пытаюсь сделать, введите «command F» прямо сейчас, затем введите «flowmaster», которое должно появиться слева от прожектора поиска 4 совпадений и клавиш со стрелками влево / вправо. Это данные, которые я ищу. Есть ли способ, чтобы эта 1 информация о совпадении вызывала событие? Например, если найдется 1 совпадение, отправьте электронное письмо со словами «один доступен». Проблема с «смотри, что я делаю» состоит в том, что в большинстве случаев там ничего нет, но когда на веб-сайте появляется слово, оно мне нужно, чтобы предупредить меня.

Это возможно?

John S
источник

Ответы:

1

Как вы обнаружили, функциональность Automator «Watch Me Do» довольно ограничена. Кроме того, имитация того, как пользователь может что-то предпринять, не всегда является лучшим способом автоматизации вещей - например, компьютеру не нужно открывать окно браузера и использовать панель поиска для поиска текста веб-страницы, можно просто скачать данные и искать их без необходимости каких-либо тонкостей GUI.

Автоматические уведомления по электронной почте для сопоставления текста на сайте

  1. Добавить Получить указанные URL-адреса действие. Добавьте к нему адрес страницы, которую вы хотите проверить.
  2. Добавить Получить текст с веб-страницы действие и убедитесь, что раскрывающийся список установлен на простой текст ,
  3. Добавить Запустить Shell Script действие с установленной оболочкой /bin/bash и настройка входа в к стандартному , Введите следующий текст, заменив search term с текстом, который вы хотите сопоставить (не забудьте оставить кавычки, если в строке есть пробелы):

    grep -o "search term" | wc -l | tr -d " "
    

    Обратите внимание, что поиск чувствителен к регистру.

  4. Добавить Запустите AppleScript действие и вставьте следующий текст, заменив me@example.com при необходимости:

    on run {input, parameters}
        if input > 0 then
            tell application "Mail"
                set theNewMessage to make new outgoing message with properties {subject:"Found Matches", content:"Found " & input & " matches", visible:false}
                tell theNewMessage
                    make new to recipient at end of to recipients with properties {address:"me@example.com"}
                    send
                end tell
            end tell
        end if
    end run
    

    Вы можете заменить subject а также content, но не забудьте правильно отформатировать их как строки AppleScript (я оставлю это в качестве упражнения для читателя, это довольно легко выяснить, Google при необходимости).

Это отправит электронное письмо, если найдутся совпадения для строки на сайте. AppleScript используется вместо действий электронной почты Automator, потому что Automator не предлагает никаких условных ( то есть операторы if) означает выполнение действий, и мы хотим отправлять электронные письма только в том случае, если совпадение было найдено. Дайте мне знать в комментариях, если у вас есть какие-либо вопросы.

robmathers
источник
Роб, спасибо, что ответил, извини, что я отсутствовал немного. Я попробовал действия, которые вы предложили. Всего пара вопросов (пожалуйста, прости меня за невежество в LINUX, я бы никогда не понял, что такое фраза grep). Я только что купил яблочный скрипт: отсутствует руководство для изучения, и моя попытка с автоматом использует молоток, чтобы повернуть гайку. Я запустил рабочий процесс, однако страница, которую я ищу, на самом деле находится во фрейме, а полученный текст с веб-страницы не дал результатов поиска. Я грубо заставил imacro использовать 'watch me do', чтобы вернуть результаты, но я не могу получить и результат.
John S
Я пытался использовать imacros для перехода на страницу (после входа в систему с именем и паролем - что я могу перебрать с помощью «watch me do»), однако на странице есть несколько вариантов подменю, таких как дата и меню, к которым я перехожу , а затем посмотрите, есть ли здесь ключевое слово. Я считаю, что сайт написан на javascript, и imacros извлек бы фразу, выбрав рамку и выполнив поиск по ключевому слову в этой рамке. Использование get text from webpage вернуло только пару заголовков меню, но не текст, который я искал. Спасибо, Джон С
John S
Получить контент с динамически генерируемого сайта может быть непросто, если этот контент не может быть надежно доступен по определенному URL (например, как поиск Google может быть построен с помощью параметров URL). Это выполнимо, но на самом деле выходит за рамки Automator или AppleScript. Я обычно использую Python для чего-то подобного. Однако это могут быть только фреймы, блокирующие вас, в этом случае щелкните правой кнопкой мыши фрейм с нужным вам содержимым и нажмите Открытая рамка в новой вкладке и скопируйте URL-адрес фрейма оттуда в действие Получить текст с веб-страницы.
robmathers
Привет, Роб, еще раз спасибо за ваш вклад и терпение. Мне удалось частично запустить ваши идеи. Щелкнув правой кнопкой мыши по фрейму, я сохранил его в виде HTML-файла в качестве источника страницы. Я использовал finder в automator для обработки файла, используя вашу фразу grep для поиска в источнике ключевого слова, и с этого момента остальная часть вашего кода работала как электронная почта. (Хлопок в ладоши) Мое решение немного сложное, однако, поскольку я использовал часы, я делаю, чтобы перейти на сайт, выбрать фрейм, щелкнуть правой кнопкой мыши и сохранить файл, затем выбрать переопределить файл ... Я уверен, что способ командовать этим, однако это работает, в точку ...
John S
Хорошо, Роб, обнови, ты прав, кадры хитрые, и даже заставить Automator щелкнуть правой кнопкой мыши оказалось сложно. Я «наблюдал за мной» записывал щелчок правой кнопкой мыши на странице, затем закончил с несколькими яблоками и нажатием клавиши «s», чтобы сохранить страницу, а затем проанализировал ее с помощью вашей оболочки. Позже я обнаружил, что когда я перешел на другой фрейм на этой странице, он не будет копировать новую информацию, поэтому я изменил тактику. Я обнаружил, что, выбрав новый кадр, затем command-a и command-c получили ВСЕ, включая новую информацию, в буфер обмена. Я запустил вашу оболочку для анализа буфера обмена, и он отлично работает!
John S