Screencapture utilitas baris perintah mengklaim dapat menangkap satu jendela tanpa memerlukan interaksi, tapi saya tidak tahu apa yang harus dilewati.
-l<windowid> capture this windowsid
Ini bukan id proses aplikasi.
Untuk beberapa aplikasi, Anda dapat menggunakan AppleScript:
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png
Itu tidak bekerja dengan Chrome .
ID-nya juga ditampilkan di Quartz Debug (tersedia dari developer.apple.com/downloads ) jika Anda menjalankannya defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true
.
Saya menulis sedikit utilitas baris perintah untuk mengambil Window ID untuk aplikasi yang tidak mendukung AppleScript. Dapatkan di sini: https://github.com/smokris/GetWindowID
Anda kemudian dapat menangkap jendela tertentu dengan menentukan nama bundel dan judul jendela:
sumber
(' ./GetWindowID.m: line 4:
int tak terduga utama (int argc, char ** argv) 'Makefile
danGetWindowID.m
, kemudian jalankan perintahmake
. Ini akan menghasilkan biner bernamaGetWindowID
, yang kemudian Anda dapat memanggil menggunakan perintah yang saya jelaskan dalam jawaban saya.Saya menulis sebuah utilitas baris perintah yang membungkus
screencapture
dan perpustakaan windowing Quartz.Raih di sini: https://github.com/thismachinechills/pyscreencapture
Gunakan seperti ini:
sumber