在Catalina之前,我用Python库pyscreenshot以编程方式进行屏幕截图。
我不知道操作系统更新是否破坏了什么,但因为,当我从代码中截图时,
例如:
# 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)
但同样的事情也会发生。
有没有办法解决这种情况?
发布于 2020-01-14 11:47:17
你需要去System Preferences > Security & Privacy
并允许你的终端在屏幕录制选项下,然后它应该允许你截图。
请参阅Github Issue
https://stackoverflow.com/questions/59732947
复制