Изучение Applescript: проблема с подключением к Safari

Наезжать

Здравствуйте, это очень конкретный и ситуативный вопрос. По сути, я запускаю Applescript в Automator в Safari, и в результате получается Null.

Что я имею

В настоящее время у меня есть скрипт, который может сделать эти вещи:

Еще до того, как я запустил программу Automator, у меня открыта Safari

Затем я запускаю Automator, который начинается с этого кода:

on run {input, parameters}

    tell application "Safari" to activate
    tell application "System Events"
        keystroke "t" using command down
    end tell
    return input
end run

Этот скрипт активирует Safari и откроет новую вкладку.

Затем у меня есть пауза Automator. Это даст странице время для загрузки

После того, как страница Safari открылась, я запускаю этот код:

on run
    clickID("75610556")
end run

on clickID(theId)
    tell application "Safari"
        do JavaScript "document.getElementById(‘” & theId & “‘).click();" in document 1
    end tell
end clickID

Этот скрипт должен выбрать кнопку с идентификатором «75610556», но это не так. Это ключевая проблема с моей программой.

Далее я запускаю следующий код:

on run {input, parameters}

    tell application "Safari" to activate
    tell application "System Events"
        keystroke "w" using command down
    end tell

    return input
end run

Это закрывает текущую вкладку.

Затем я перебираю цикл Automator.

С чем бы я хотел помочь

Я отвечу на мои вопросы по программе шаг за шагом.

Для первого шага, это хороший способ настроить вещи? Automator - даже правильный путь?

Этот код эффективен? Есть еще ошибки?

Я действительно надеюсь, что есть альтернатива этому. Я не нашел ни одного.

Почему это не работает в Safari? Я чувствую, что сделал все правильно.

То же, что номер 2, просто любопытно, если это лучший способ справиться с этим

Я думаю, что это хороший способ сделать что-то.

Зачем мне это нужно + каждая деталь (Необязательный раздел)

Это дополнительные детали, если вы хотите их. Он даст вам почти все детали и объяснит, зачем мне это нужно.

Так что в моем колледже есть бизнес-конкурс. Я начинающий программист, и я запрограммировал очень простую игру для мобильных сетей. Проблема в том, что на веб-сайте опроса есть денежный приз в размере 3000 долларов. Этот сайт - Опрос Везде. Судьи не поняли, что этот сайт ни в коем случае не является безопасным. Мы сообщили об этом, и судьи посчитали, что причина для отмены опроса и, возможно, поиска новой альтернативы недостаточно хороша. Мы сообщили, что Poll Everywhere можно манипулировать, чтобы работать с преимуществами любой команды, достаточно умными, чтобы:

А. Отключите куки для своего браузера

Б. Используйте приватный браузер

Но, конечно, судьи не слушали. Они думали, что если кто-то не спать всю ночь, это может изменить его, но в течение 2-3 часов, это будет иметь небольшой эффект. Чтобы сдержать их решение, я хотел бы сделать для них пример программы на моем Mac, которая поразит их: программа голосования. Эта программа откроет сафари. Safari уже настроен для открытия страницы голосования в режиме приватного браузера. Все, что нужно сделать моей программе - это открыть новую вкладку, найти идентификатор кнопки и щелкнуть по ней. Чем быстрее это сделает, тем лучше.

Последнее замечание: была ли история слишком много? Я знаю, что у переполнения стека есть политика "запасных деталей". Я думал, что сложная версия может помочь, но если это плохо, я ее уберу.

Ответы на вопрос(1)

Ваш ответ на вопрос