3

在 PCSX(ps1 模拟器)中,我正在尝试自动执行播放 iso 的步骤。所以,我正在这样做:

set thepath to path to me
set thesecondpath to POSIX path of thepath
set thethirdpath to "Contents/PSX/ROMS/img.bin"
set thefourthpath to "/Contents/PSX/PCSX.app"
set thefifthpath to thesecondpath & thefourthpath
set theultimatepath to thesecondpath & thethirdpath

tell application thefifthpath
    activate
    tell application "System Events"
        keystroke "i" using {command down}
        keystroke theultimatepath
        delay 1.0
        tell process "PCSX"
            click button "Go"
        end tell
        key code 53
    end tell
end tell

从 AppleScript 编辑器运行将不起作用。我让它从它创建的应用程序运行。PCSX 和 img.bin 位于 Generated Package 中。

按下后command+i,它会打开一个"Go to the folder"对话框,我需要单击Go然后Open

但是这样做,它不会找到对话框。我究竟做错了什么?

4

2 回答 2

5

如果 Go 和 Open 是默认按钮,请尝试:

tell application "System Events"
    keystroke return
    delay 2
    keystroke return
end tell

虽然我没有安装 PCX,但这里有一个示例,说明如何从 Finder 的“转到文件夹”命令中单击“开始”按钮。

tell application "System Events"
    tell process "Finder"
        click button "Go" of window "Go to Folder"
    end tell
end tell
于 2013-01-14T14:36:04.763 回答
1

您的脚本无法从 AppleScript 编辑器运行的原因是“我的路径”中的“我”是运行 AppleScript 的应用程序。当您在 AppleScript Editor 中运行 AppleScript 时,这意味着 AppleScript Editor 本身。当您将 AppleScript 保存为脚本应用程序并运行它时,指向我的路径指向您的脚本应用程序,因为它正在运行自己的 AppleScript。

此外,这是不正确的:

tell process "Finder"
        click button "Go" of window "Go to Folder"
end tell

“Go”按钮不在“Go to Folder”窗口上。它位于附加到 Finder 窗口的工作表上,该窗口具有当前正在查看的任何文件夹的名称。因此,您必须将按钮描述为位于窗口 1 的表 1 上:

tell application "System Events"
    tell process "Finder"
        click button "Go" of sheet 1 of window 1
    end tell
end tell

…但请记住,在另一个应用程序中,工作表上类似外观的按钮可能位于窗口 3 的组 2 的组 1 的工作表 1 上。UI 脚本很复杂。

于 2014-08-11T10:13:35.823 回答