Printing Safari打印没有打印对话框错误的优雅解决方案?

Printing Safari打印没有打印对话框错误的优雅解决方案?,printing,applescript,safari,Printing,Applescript,Safari,AppleScript标准套件有一个从应用程序打印的命令,允许指定某些选项并在不显示对话框的情况下打印。例如: tell application "Safari" print document 1 with properties {copies:3} without print dialog end tell 但是,当前版本的Safari中似乎存在一个bug,它阻止了这种情况的发生。1当指定而不使用打印对话框时,,窗口中会弹出一张工作表,显示打印作业的处理进度,但不是这样做,而是挂起一

AppleScript标准套件有一个从应用程序打印的命令,允许指定某些选项并在不显示对话框的情况下打印。例如:

tell application "Safari"
    print document 1 with properties {copies:3} without print dialog
end tell
但是,当前版本的Safari中似乎存在一个bug,它阻止了这种情况的发生。1当指定
而不使用打印对话框时,
,窗口中会弹出一张工作表,显示打印作业的处理进度,但不是这样做,而是挂起一个非描述性的按钮

在尝试解决这一问题时,我意识到如果我使用打印对话框指定
,一切都会正常工作。脚本在显示对话框后暂停该行的执行,然后在用户点击对话框中的“打印”按钮后继续。最优雅的解决方法是在显示对话框后返回
,但我认为这是不可能的,因为脚本在该行暂停,直到对话框被取消

一个不那么优雅的解决方法是:

on printCopiesOfCurrentPage(copies)
    tell application "System Events"
        tell application process "Safari"
            keystroke "p" using command down
            keystroke copies as text
            keystroke return
            delay 3
        end tell
    tell
end printCopiesOfCurrentPage
由于在发送打印作业之前无法延迟执行,因此我们必须使用
延迟3
进行猜测,这要么效率低下,要么有问题

还有其他的可能性吗?可能是一种在使用击键方法后监视打印对话框消失的方法,或者是一种在调用
print with dialog
后启动作业的方法


一,。我第一次尝试这种方法时,它实际上打印了一页半,然后突然翻转,导致打印机堵塞。此后我一直无法复制它,因此如果有人能为我确认这个错误,我将不胜感激