2011-08-03 99 views
2

我希望Safari瀏覽器使用Apple Automator下載和保存網頁。用Safari瀏覽器窗口打開,我的AppleScript編輯器中運行以下腳本:Applescript:Safari無法保存網頁(AppleEvent處理程序失敗錯誤)

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瀏覽器顯示正確的網址,但後來我得到以下錯誤在Safari:

「文檔「Python編程語言 - 官方網站「不能保存爲」python.htm「。」

我點擊「確定」該錯誤框,然後AppleScript的編輯給了我這個錯誤在一個對話框:

「的AppleScript錯誤
Safari瀏覽器得到了一個錯誤:的AppleEvent處理程序失敗。」

的AppleScript編輯器有一個框名爲「結果」的底部,它也顯示了以下消息:

「錯誤‘野生動物園得到了一個錯誤:的AppleEvent處理程序失敗’號-10000」

而且該網頁將不會保存。我不知道是什麼導致了這個B/C我99%肯定我過去使用相同的(或類似的)代碼來保存頁面。

奇怪的是,我將「獲取文檔1」和「保存文檔1」行移動到「tell application safari」塊之外,並將applescript保存爲「python.htm」,並且在使用Firefox打開時看起來都很愚蠢。所以問題似乎是Safari無法保存,而且一般都不能。

另外,我使用chmod將目標保存目錄上的所有權限更改爲全部(在bash中使用777參數)。

我更新了幾次重新啓動的軟件。

這裏是我的版本:

Safari瀏覽器:5.1版(6534.50)
OSX雪豹:版本10.6.8 的AppleScript 2.1.2
的AppleScript編輯:版本2.3(118)
我拴到我的手機,用它作爲移動接入點。我不知道這是否重要。

我覺得這傢伙得到了同樣的錯誤,但沒有答案:

Why does this AppleScript get an "AppleEvent handler failed" error on Mac OS X 10.5 Leopard?

任何人有一個猜測?謝謝。

回答

1

我不知道真正的答案,但它有50多個意見和一個風滾草,所以我想我會張貼一些東西。

顯然你應該使用捲曲:

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中,這是一個常見的applescript錯誤,但它沒有回答b/c這不是一個applescript板?無論如何,也許原來的帖子應該工作,我只是不知道更好。我想,如果人們在電路板上或通過谷歌找到這個,答案可能會有所幫助,或者如果這是一個明顯的解決方案,mod可能只是想刪除它)。

+0

不,這不是一個obvoius解決方案。請記住使用'my_new_file'的引用形式。如果你這樣做,你的解決方案將工作。 :) – fireshadow52

+1

我粘貼它從我的applescript編輯器,它工作,所以我認爲它的作品。在倒數第二行,my_new_file是在倒數第三行設置的字符串變量。所以也許我有太多的線條,它不可讀。你可以在「end tell」後刪除所有內容,並用下面的代碼替換它:do shell腳本「curl」&my_html&「>>」&「/Users/you_user_name/python.htm」 – PatentDeathSquad

相關問題