Applescript: Safari не может сохранить веб-страницу (ошибка обработчика AppleEvent) - PullRequest
3 голосов
/ 04 августа 2011

Я хочу, чтобы safari загружал и сохранял веб-страницу с помощью Apple Automator. Открыв окно Safari, я запускаю следующий скрипт в редакторе AppleScript:

tell application "Safari"
    set URL of document 1 to "http://www.python.org"
    delay 6
    get document 1
    delay 6
    save document 1 in "/mydir/" & "python" & ".htm"
end tell

Safari отображает правильный URL, но затем я получаю следующую ошибку в Safari:

«Документ« Язык программирования Python - официальный сайт »не может быть сохранен как« python.htm ».»

Я нажимаю «ОК» в этом окне ошибок, а затем AppleScript Editor выдает мне эту ошибку в диалоговом окне:

"Ошибка AppleScript
Safari получил ошибку: сбой обработчика AppleEvent. "

Редактор AppleScript имеет поле внизу под названием «Результат», а также отображает следующее сообщение:

"error" Safari получил ошибку: сбой обработчика AppleEvent. "Number -10000"

И веб-страница не будет сохранена. Я не знаю, что является причиной этого ч / б, я на 99% уверен, что я использовал этот же (или похожий) код для сохранения страниц в прошлом.

Странно, но я переместил строки «получить документ 1» и «сохранить документ 1» за пределы блока «рассказать приложение safari», и он сохранил appleScript как «python.htm», и он выглядел совершенно глупо при открытии с Firefox. Таким образом, проблема заключается в том, что Safari не может сохранять, а не osx вообще.

также я использовал chmod для изменения всех разрешений в целевом каталоге сохранения на все (использовал аргумент 777 в bash).

Я обновил программное обеспечение, перезапущенное несколько раз.

Вот мои версии:

Safari: версия 5.1 (6534.50)
OSX Snow Leopard: версия 10.6.8 AppleScript 2.1.2
Редактор AppleScript: версия 2.3 (118)
Я привязан к своему мобильному телефону, используя его в качестве мобильной точки доступа. Я не знаю, имеет ли это значение.

Я думаю, что этот парень получил ту же ошибку, но не ответил:

Почему этот AppleScript получает ошибку «Ошибка обработчика AppleEvent» в Mac OS X 10.5 Leopard?

Кто-нибудь получил предположение? Спасибо.

1 Ответ

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

Я не знаю реального ответа, но у него более 50 просмотров и перекати, так что я решил что-нибудь опубликовать.

очевидно, вы должны использовать curl:

tell application "Safari"
    set URL of document 1 to "http://www.python.org"
    delay 6
    get document 1
    set my_html to URL of document 1
end tell

set my_new_file to "/Users/your_user_name/python.htm"
set my_script to "curl " & my_html & " >> " & my_new_file

do shell script my_script

(Я видел сообщение на macscripter, и они сказали, что это «единственный путь», поэтому, возможно, нет никакого способа использовать «сохранить как» в Safari, и это обычная ошибка applecript, но на нее не было ответа b / c это не доска объявлений appleScript? Во всяком случае, может быть, оригинальный пост должен работать, и я просто не знаю ничего лучше. Я подумал, если люди находят это на доске или через Google, ответ может быть полезным или, может быть, моды просто хотят удалить его, если это очевидное решение).

...