Вы можете найти этот урок интересным.
Если вы можете превратить то, что вам нужно, в анимацию matplotlib, и я уверен, что из вашего описания, что это возможно, вы затем можно использовать
from matplotlib import rc, animation
rc('animation', html='html5')
и отобразить анимацию с помощью
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=N, interval=20, blit=True)
anim
Может пригодиться!
Используя/Developer/Applications/Utilities/Accessibility Инструменты/Доступность Inspector.app можно использовать встроенную систему доступности для рассмотрения свойств элемента UI под мышью. Обратите особое внимание на cmd-F7 действие для блокировки внимания на элемент и Кнопку Обновить. Печально элемент и имена свойства непосредственно не соответствуют именам в комплекте сценария, но можно посмотреть на словарь для Системных событий или обычно предполагать правильную терминологию.
Используя это можно определить две вещи. Во-первых, focused
свойство не находится на menu item
, а скорее существует a text field
в menu item
это фокусируется. Во-вторых, пункт меню имеет a selected
свойство.
С этим я придумал:
tell application "System Events"
tell (first process whose frontmost is true)
set helpMenuItem to menu bar item "Help" of menu bar 1
-- Use reference form to avoid building intermediate object specifiers, which Accessibility apparently isn't good at resolving after the fact.
set searchBox to a reference to menu item 1 of menu of helpMenuItem
set searchField to a reference to text field 1 of searchBox
if searchField's focused is true then
key code 53 -- type esc
else
click helpMenuItem
end if
end tell
end tell
Хотя это все еще не работает. Ключевое событие не стреляет насколько я могу сказать, таким образом, что-то может все еще быть подозрительным с focused
свойство на текстовом поле.
Так или иначе, Ваш click
снова решение кажется намного легче.
Созданный в ключевом ярлыке Cmd-? (Cmd-сдвиг-/), уже ведет себя как это. Это перемещает центр внимания в поле поиска меню справки, если это уже не фокусируется и иначе отклоняет меню.
Я просто столкнулся с необходимостью сделать это сам для обработки файлов в Illustrator.
Здесь вот что я придумал:
tell application "Adobe Illustrator"
activate
tell application "System Events"
tell process "Illustrator"
set frontmost to true
set activeMenuItem to enabled of menu item "Unlock All" of menu "Object" of menu bar item "Object" of menu bar 1
if activeMenuItem is true then
tell me to beep 3
else
tell me to beep 2
end if
end tell
end tell
end tell
Готово.
Это сработало без проблем и могло использоваться для итерации файла. Вероятно, мне придется делать это еще много раз в моей будущей автоматизации.
Удачи!