Изучение 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 уже настроен для открытия страницы голосования в режиме приватного браузера. Все, что нужно сделать моей программе - это открыть новую вкладку, найти идентификатор кнопки и щелкнуть по ней. Чем быстрее это сделает, тем лучше.
Последнее замечание: была ли история слишком много? Я знаю, что у переполнения стека есть политика "запасных деталей". Я думал, что сложная версия может помочь, но если это плохо, я ее уберу.