首页 > 解决方案 > 如何在 macOS 上更快地截取屏幕截图?

问题描述

import pyautogui
import time

def test_time():
    t1 = time.time()
    for i in range(100):
        img = pyautogui.screenshot()
    t2 = time.time()
    print(t2-t1)
test_time()

我正在尝试制作机器人,它会检查像素然后点击它们,但是截图花费了太多时间(100 张截图需要 14.93 秒)有没有更快的方法来做到这一点?

标签: pythonpyautogui

解决方案


根据平台的不同,您可以通过提供region关键字参数来加快调用速度,如下所示:

im = pyautogui.screenshot(region=(20, 20, 80, 80))

在 Linux 上,该区域将用于底层屏幕截图过程(当只需要较小的区域时,这可以显着加快该过程),但在 Windows 和 macOS 上这将无济于事。

您可以使用其他库(包括MSS )查看更具体的解决方案,您可以在此处阅读文档。它有一个简单的 API,而且速度非常快。


推荐阅读