我正在尝试使用pyautogui
模块截取屏幕截图,但不断收到此错误
>>> image = pyautogui.screenshot()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'pyautogui' has no attribute 'screenshot'
我有什么遗失的东西吗? Automate the Boring Stuff with Python中的章节说,在Windows上,我不需要下载pyautogui
以外的任何内容来实现此功能。有人知道为什么会这样吗?提前谢谢。
Pillow
。
答案 0 :(得分:0)
在Linux上,您必须运行sudo apt-get install scrot
才能使用屏幕截图功能。
答案 1 :(得分:0)
看起来PyAutoGUI只是从PIL / Pillow借用ImageGrab,您可以通过查看screeenshotUtil.py中的pyautogui来看到
def _screenshot_win32(imageFilename=None):
im = ImageGrab.grab()
if imageFilename is not None:
im.save(imageFilename)
return im
并进一步向下
# set the screenshot() function based on the platform running this module
if sys.platform.startswith('java'):
raise NotImplementedError('Jython is not yet supported by PyAutoGUI.')
elif sys.platform == 'darwin':
screenshot = _screenshot_osx
elif sys.platform == 'win32':
screenshot = _screenshot_win32
from PIL import ImageGrab
else:
screenshot = _screenshot_linux
grab = screenshot # for compatibility with Pillow/PIL's ImageGrab module.
我和OP有同样的麻烦,但在实现了上述之后我直接使用了ImageGrab。从评论部分here中汲取灵感,安装枕头的窗户上OP的答案如下所示:
from PIL import ImageGrab
import time
time.sleep(5)
box = (1106,657,1166,679) #Upper left and lower right corners
ImageGrab.grab(box).save('box.png') #ImageGrab.grab().save('fullscreen.png')
答案 2 :(得分:0)
from pyautogui import screenshotUtil
im=screenshotUtil.screenshot()
print im.getpixel((850, 850))
我试过了。它似乎与文档不同。希望这很有帮助。
答案 3 :(得分:-1)
在使用“image = pyautogui.screenshot()”之前,你必须先输入“import pyautogui”