【问题标题】:How to take screenshots faster on macOS?如何在 macOS 上更快地截取屏幕截图?
【发布时间】:2020-08-05 01:58:24
【问题描述】:
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 秒)有没有更快的方法来做到这一点?

【问题讨论】:

标签: python pyautogui


【解决方案1】:

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

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

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

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

【讨论】:

  • 同样的问题,它甚至比第一次(17.7秒)花费更多的时间
  • 您是否尝试使用 MSS 指定区域?
【解决方案2】:

要在 macOS 上截屏,请按 cmd+shift+4

【讨论】:

    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2011-08-16
    相关资源
    最近更新 更多