用Python截图,从Catalina开始不再在macOS上工作
在Catalina之前,我使用该库以编程方式在Python中制作屏幕截图 我不知道操作系统更新是否破坏了某些东西,但因为,当我从代码中截图时 e、 g 我得到的是干净桌面的截图,而不是屏幕上显示的应用程序 我也尝试过(做一件比什么都不做更丑但更好的事情) 但同样的事情也发生了用Python截图,从Catalina开始不再在macOS上工作,python,macos-catalina,Python,Macos Catalina,在Catalina之前,我使用该库以编程方式在Python中制作屏幕截图 我不知道操作系统更新是否破坏了某些东西,但因为,当我从代码中截图时 e、 g 我得到的是干净桌面的截图,而不是屏幕上显示的应用程序 我也尝试过(做一件比什么都不做更丑但更好的事情) 但同样的事情也发生了 有没有办法解决这种情况?您需要进入系统首选项>安全和隐私并允许您的终端在屏幕录制选项下进行屏幕截图 请参见您可以发布pyscreenshot的错误吗?它不会给出错误。它在干净的桌面上“成功”截屏,而不是在该框架(或每隔一个
有没有办法解决这种情况?您需要进入
系统首选项>安全和隐私
并允许您的终端在屏幕录制选项下进行屏幕截图
请参见您可以发布pyscreenshot的错误吗?它不会给出错误。它在干净的桌面上“成功”截屏,而不是在该框架(或每隔一个框架)中显示的应用程序这是因为Catalina中引入了安全设置,您需要在安全和隐私中允许它。您需要转到
系统首选项>安全和隐私
并在屏幕录制选项下允许您的终端,然后它应该允许您拍摄屏幕截图。看见
# 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)