这里的简单问题:我想使用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)
有人有什么想法吗?我对其他打击关键组合的路线持开放态度,例如,我知道要复制这种方法很有效:
type("c",KEY_META)
但是,它不接受三个论点。
答案 0 :(得分:10)
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
这样做的好处是,您可以控制镜头的文件名。
答案 1 :(得分:0)
找到了一个更好的解决方案,它确实有效:
find_shortest_path_length(maze, i, j - 1, current_path_length + 1, shortest_path_length)
Screen.capture() 使用以下方法返回 ScreenImage 类的实例:'save'、'saveInBundle'、'getFile'、'getFilename'。方法 save() 向提供的前缀参数添加一个唯一编号。