2013-06-03 5 views
0

EDIT: Я пытаюсь сохранить файл сеанса из приложения отладки веб-прокси-сервера Charles (http://www.charlesproxy.com/) с помощью AppleScript. В принципе, я выбираю «Экспорт», помещаю имя temp и сохраняю его. Однако после того, как я нажму на поле со списком 2, которое является областью «Формат», а затем попытаюсь щелкнуть по кнопке «Файл сеанса XML (.xml)», редактор Applescript выдает сообщение об ошибке, которое не может найти его ,Charles and 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 

Любой хак тоже хорошо. Перед публикацией, попробовав запустить «osascript» в Terminal, чтобы проверить, работает ли это не через редактор AppleScript.

ответ

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 
0

Да что работал! Я только что добавил

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

Это было очень тонко, и я видел это раньше, но теперь я лучше понимаю, что это такое. Большое спасибо!