我希望能够从Python脚本获取macOS上所有窗口标题的字符串列表。在Windows上,有一个win32 api(enumWindows()函数)可以做到这一点。我想要等效的macOS。
这可能吗?我认为我需要使用pyobjc。
答案 0 :(得分:2)
以下脚本基于Mark Setchell的注释,并打印应用程序名称和窗口名称(使用Python 3.7):
import Quartz
windows = Quartz.CGWindowListCopyWindowInfo(Quartz.kCGWindowListExcludeDesktopElements|Quartz.kCGWindowListOptionOnScreenOnly,Quartz.kCGNullWindowID);
for window in windows:
print(f"{window[Quartz.kCGWindowOwnerName]}: {window.get(Quartz.kCGWindowName, '<no name>')}")
请注意,窗口可能没有名称,因此使用“ get”方法来访问窗口名称。