我希望野生动物园使用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编辑器在一个对话框中向我显示此错误:

“AppleScript错误
Safari出现错误:AppleEvent处理程序失败。”

AppleScript编辑器的底部有一个框,称为“结果”,它还显示以下消息:

“错误” Safari出现错误:AppleEvent处理程序失败。”数字-10000”

并且该网页将无法保存。我不知道是什么原因导致此B / C,我99%确信我过去使用过相同(或相似)的代码来保存页面。

奇怪的是,我将“获取文档1”和“保存文档1”行移至“告诉应用程序safari”块之外,并将applescript保存为“python.htm”,并且在使用Firefox打开时看起来很傻。因此,问题似乎在于Safari无法保存,而通常无法保存osx。

另外,我使用chmod将目标保存目录上的所有权限更改为all(在bash中使用777参数)。

我更新了几次重启软件。

这是我的版本:

Safari:5.1版(6534.50)
OSX Snow Leopard:版本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?

有人猜到了吗?谢谢。

最佳答案

我不知道真正的答案,但是它有50多个 View 和一个风滚草,所以我认为我会发布一些东西。

显然,您应该使用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中使用“另存为”,这是一个常见的applescript错误,但没有得到答案b / c这是不是applescript板吗?无论如何,也许原来的帖子应该可以用,但我对此一无所知。我发现如果人们在板上或通过google找到了这个答案,答案可能会有所帮助,或者mod只是想要删除它(如果这是一个明显的解决方案)。

10-07 19:27
查看更多