python - 自 Catalina 以来,在 macOS 上不再使用 Python 截屏

标签 python macos-catalina

我在 Catalina 之前使用过库 pyscreenshot在 Python 中以编程方式制作屏幕截图。

我不知道操作系统更新是否破坏了某些内容,但因为当我从代码中截取屏幕截图时,

例如

# bbox declared in context
import pyscreenshot as ImageGrab
if os.name == 'nt':
    # Windows
    im = ImageGrab.grab(bbox=bbox)
else:
    # macOS (I don't worry about Linux)
    im = ImageGrab.grab(bbox=bbox, backend='mac_quartz', childprocess=False)

# ...
im.save(filename)

我得到的是干净桌面的屏幕截图,而不是屏幕上显示的应用程序。

我也尝试过(虽然丑陋但比什么都没有有效的东西更好)

os.system("screencapture %s" % filename)

但是同样的事情发生了。

有办法解决这种情况吗?

最佳答案

您需要进入系统偏好设置>安全和隐私并允​​许您的终端处于屏幕录制选项下,然后它应该允许您截取屏幕截图。

参见Github Issue

关于python - 自 Catalina 以来,在 macOS 上不再使用 Python 截屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59732947/

相关文章:

python - 如何实现tensorflow session 配置

python - Python 中有没有内置的方法来检查单个列表索引

python - macOS 卡塔利娜 : Python Quit unexpectedly error

java - IntelliJ IDEA Ultimate 2019.3 显示注释的完全限定名称

macos-catalina - 在 mac catalina 上启用 opcache,使用自制软件安装 php 7.4

Python 字典包含列表/设置为值。如何向其中添加/添加新元素?

Python 按键监听器 - Raspberry Pi

python - 访问 Pandas DataFrame 最快的方法是什么?

swift - 如何在 OSX 应用程序中的本地主机上设置 HTTP 监听器

xcode - macOS - 如何将 com.apple.developer.driverkit 权利添加到团队配置文件