Скриптування графічного інтерфейсу AppleScript, чому індекс вікна не існує?


0

Я сподіваюся дізнатися, як зробити деякі графічні інтерфейси в AppleScript, тому що я хочу керувати Emacs, додатком, який не є сценарієм (наскільки я знаю).

Так це працює. Вона вводить "foo" у вікно Emacs (називається "кадр" у жаргоні Emacs).

tell application "Emacs"
  activate
end tell
tell application "System Events"
  tell application process "Emacs"
    tell window 1
      keystroke "foo"
    end tell
  end tell
end tell

Однак це дає помилку. Це спроба прочитати назву вікна 1. Мені потрібно це зробити, тому що зрештою я хочу написати сценарії, які роблять речі з вікнами, які мають певні імена або шаблони у своїх іменах.

Існує помилка, що індекс 1 є неіснуючим індексом вікна.

tell application "Emacs"
  activate
end tell
tell application "System Events"
  tell application process "Emacs"
    get name of window 1
  end tell
end tell

1
У мене не встановлено графічну версію Emacs, тому я не можу протестувати. Що станеться, якщо ви використовуєте get name of front window
user3439894

Це дає ту ж помилку, "не можна отримати ім'я вікна 1, недійсний індекс". Думаю, "переднє вікно" - це просто псевдонім для "вікна 1"?
composerMike

Так, я насправді знав, вибачте. У всякому разі ... Ще одна пропозиція, якщо у вас встановлено Xcode, це перевірити об'єкт з інспектором спеціальних можливостей і перевірити, чи є це AXEnabled, якщо це не так, ви, ймовірно, не зможете його створити. Якщо програма не підтримує безпосередньо сценарії AppleScript, подивіться Керівництво з програмування доступності для OS X і якщо ви не можете вирішити це таким чином, я думаю, що вам не пощастило з AppleScript у цьому випадку.
user3439894
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.