0

编辑:我正在尝试使用 AppleScript从 Web 代理调试应用程序 Charles ( http://www.charlesproxy.com/ ) 保存会话文件。基本上,我选择“导出”,输入一个临时名称,然后保存。但是,在我单击组合框 2(即“格式”区域)后,尝试单击弹出按钮“XML 会话文件 (.xml)”后,Applescript 编辑器会抛出一个错误,提示找不到它.

目前我用下面的代码破解了它,但由于某种原因,它只适用于 Applescript 编辑器,有时也适用于终端/我的代码,特别是当我同时执行其他操作时。

tell application "Charles"
    activate
end tell

tell application "System Events"
    tell process "Charles"
        tell menu bar 1
            click menu bar item "File"
            tell menu "File"
                click menu item "Export..."
            end tell
        end tell
        tell window "Save"
            keystroke "tempCharles"
            delay 0.5
            click combo box 2
            delay 0.5
            key code 125 -- down arrow
            delay 0.2
            key code 125
            delay 0.2
            key code 125
            delay 0.2
            key code 125
            delay 0.2
            keystroke return
            delay 0.4
            keystroke return
            delay 0.4
            keystroke return
        end tell
    end tell
end tell

我希望我的代码看起来像这样

    tell window "Save"
        keystroke "tempCharles.xml"
        delay 3
        click combo box 2
        tell combo box 2
            click pop up button "XML Session File (.xml)"
        end tell
        click button "Save"
    end tell

任何 hack 也很好。在发布之前,尝试在终端上运行“osascript”以检查它是否无法通过 AppleScript 编辑器运行。

4

2 回答 2

0

是的,有效!我刚刚添加

-- Got rid of the "set text" line
keystroke return
delay 1
click button "Save"

这是非常微妙的,我以前见过,但现在我更好地意识到它是什么。非常感谢!

于 2013-06-04T16:47:08.550 回答
0

set value of text field 1 of window 1似乎也不起作用,但您可以尝试使用keystroke

delay 0.5 -- time to release modifier keys if the script is run with a shortcut like cmd-R
tell application "System Events" to tell process "Charles"
    set frontmost to true
    click menu item "Save..." of menu 1 of menu bar item "File" of menu bar 1
    keystroke "templog" & return
end tell
于 2013-06-04T05:11:12.917 回答