Skip to main content
 首页 » 编程设计

python之使用 Sikuli 自动截取窗口屏幕截图

2025年05月04日11bluestorm

这里有一个简单的问题:我想使用 Sikuli 在 Mac 上截取一个窗口的屏幕截图,方法是按 CMD+SHIFT+4,然后按空格键,然后单击一个窗口。

对于 CMD+SHIFT+4 我遇到了麻烦。这不起作用:

keyDown(KEY_META) 
keyDown(Key.SHIFT) 
wait(1) 
type("4") 
wait(1) 
keyUp(Key.SHIFT) 
keyUp(KEY_META) 

有人有什么想法吗?我对其他击键组合的方法持开放态度,例如,我知道复制这个效果很好:

type("c",KEY_META) 

但是,它不接受三个参数。

请您参考如下方法:

type("4", KeyModifier.CMD+KeyModifier.SHIFT) 

或者,甚至更好:

import shutil 
import os 
screenshotsDir = "absolute-path-to-a-folder" 
img = capture(some_region) 
shutil.move(img, os.path.join(screenshotsDir, "some-name.png")) 

some_region 在哪里:

some_region = SCREEN # for whole screen 

或

someRegion = App.focusedWindow() # for the frontmost window 

这样做的好处是,您可以控制镜头的文件名。