1

这里有一个简单的问题:我想使用 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)

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

4

2 回答 2

9
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

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

于 2013-02-27T13:13:45.413 回答
1

找到了一个更好的解决方案,它确实有效:

screen = Screen()
scr_img = screen.capture(screen.getBounds())
scr_img.save("C:\Screenshots", "screenshot")

Screen.capture() 使用方法返回 ScreenImage 类的实例:'save'、'saveInBundle'、'getFile'、'getFilename'。方法 save() 将唯一编号添加到提供的前缀参数。

于 2021-01-31T08:19:48.007 回答