使用Sikuli获取窗口的自动截图?

Chr*_*rgo 1 python sikuli python-2.7

这里的简单问题:我想使用Sikuli在mac上截取窗口的屏幕截图,这可以通过点击CMD + SHIFT + 4然后点击Space,然后点击一个窗口来完成.

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

keyDown(KEY_META)
keyDown(Key.SHIFT)
wait(1)
type("4")
wait(1)
keyUp(Key.SHIFT)
keyUp(KEY_META)
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?我对其他打击关键组合的路径持开放态度,例如,我知道复制这个很有效:

type("c",KEY_META)
Run Code Online (Sandbox Code Playgroud)

但是,它不接受三个论点.

Chr*_*rgo 10

type("4", KeyModifier.CMD+KeyModifier.SHIFT)
Run Code Online (Sandbox Code Playgroud)

或者,甚至更好:

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

其中some_region是:

some_region = SCREEN # for whole screen
Run Code Online (Sandbox Code Playgroud)

要么

someRegion = App.focusedWindow() # for the frontmost window
Run Code Online (Sandbox Code Playgroud)

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