AppleScript - Помощь с Safari - PullRequest
       3

AppleScript - Помощь с Safari

3 голосов
/ 04 сентября 2011

Мне было поручено создать приложение, которое должно

  1. Отображение диалогового окна с сообщением "The webpage has finished loading." после завершения загрузки веб-страницы

  2. Определите, сколько элементов сейчас загружается

Для номера 1 я пытался выполнить if the URL of the front document is "http://applescript.weebly.com" then, но часть then всегда запускается, даже если веб-страница не загружается!

Для номера 2 я пробовал это ...

tell application "Safari" to get every item of window "Downloads"

Но это возвращает ссылки на каждый элемент, даже те, которые уже были загружены!

Вывод: мне нужна помощь. : S

Ответы [ 2 ]

1 голос
/ 04 сентября 2011

Отображение диалогового окна с сообщением "The webpage has finished loading.", когда веб-страница завершает загрузку.

Нет способа сделать это только с помощью чистого AppleScript.Однако вы можете использовать комбинацию AppleScript и javascript ...

tell application "Safari"
    repeat until (do JavaScript "document.readyState" in document 1) is "complete"
    end repeat
    display dialog "The webpage has finished loading."
end tell

ПРЕДУПРЕЖДЕНИЕ: Если веб-страница по какой-либо причине не загружается, сценарий навсегда застрянет вбесконечный цикл повтора.


Определите, сколько элементов в данный момент находится в процессе загрузки.

При загрузке файлов им временно присваивается расширение имени download, поэтому AppleScript может сказать Finder, чтобы он получил файлы с этим расширением и создал предупреждение / диалог:

set the download_count to 0
set the download_folder to (path to downloads folder) as alias --or wherever the items are being downloaded
tell application "Finder" to set the download_count to the count of (every item of the download_folder whose name extension is "download")
if the download_count is 0 then
    display dialog "There are currently no downloads in progress."
else if the download_count is 1 then
    display dialog "There is currently one download in progress."
else
    display dialog "There are currently " & the download_count & " downloads in progress."
end if


PS Спасибо за честь моего веб-сайта!
0 голосов
/ 29 марта 2013

Я написал приведенный ниже скрипт в редакторе AppleScript, чтобы открыть мой браузер, отобразить моего интернет-провайдера в URL, пройти процесс входа в систему и подключиться к Интернету.Работает отлично.Я хочу добавить или изменить его, чтобы пинговать «www.google.com» каждый час или около того, и если мое соединение оборвалось, повторите процедуру, описанную ниже, чтобы подключить мой компьютер к Интернету.Я только изучаю этот сценарий, и у меня пока нет хорошего понимания того, как он работает, поэтому, если кто-то может помочь, объясните это в простых терминах для меня.Очень ценится.

Скажите приложение "Safari"

activate

tell application "System Events"
    open location "https://basrah.uswicom.com/login.php"

    delay 1
    keystroke return

    delay 3
    keystroke tab

    keystroke (ASCII character 29)
    delay 1

    delay 1
    keystroke tab

    delay 1
    keystroke "123456789"

    delay 1
    keystroke return

    delay 1
    keystroke return

end tell

Конец Скажите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...