Answers:
对于某些应用程序,您可以使用AppleScript:
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png
不过,它不适用于Chrome。
如果运行,这些ID也会显示在Quartz Debug中(可从developer.apple.com/downloads获取)defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true
。
我写了一个小的命令行实用程序来检索不支持AppleScript的应用程序的窗口ID。在这里获取:https : //github.com/smokris/GetWindowID
然后,您可以通过指定特定的窗口包名称和窗口标题来捕获该窗口:
screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png
(' ./GetWindowID.m: line 4:
int main(int argc,char ** argv)'
Makefile
和的文件夹GetWindowID.m
,然后运行命令make
。它将生成一个名为的二进制文件GetWindowID
,您可以使用我在答案中描述的命令来调用该二进制文件。
我写了一个命令行实用程序,它包装了screencapture
Quartz窗口库。
在这里获取:https://github.com/thismachinechills/pyscreencapture
像这样使用它:
./screencapture.py Chrome -t Stack Overflow