使用 Python 后台脚本捕获屏幕截图并保存到文档

我正在做一些测试活动,这需要我捕获应用程序/数据库等的屏幕截图并将其保存到文档中。整个活动有50多张截图。在 Python 中有没有一种方法可以通过它使用 Windows 快捷键(例如;CTRL ALT shift C)截取屏幕截图并将图像附加到文档文件中。我相信 python 程序应该像 Unix 中的 nohup 一样在后台运行。



撒科打诨
浏览 289回答 1
1回答

阿波罗的战车

要使用热键在 Word 中存储屏幕截图,您可以使用库的组合。使用win32gui打开Word使用python-docx更新文档并保存使用PyAutoGUI进行屏幕捕获使用键盘监听热键要使此脚本起作用,您需要在运行脚本之前创建 Word 文档。# Need these libraries# pip install keyboard# pip install PyAutoGUI# pip install python-docx# pip install win32guiimport keyboardimport pyautoguifrom docx import Documentfrom docx.shared import Inchesimport win32guifrom PIL import ImageGrabshotfile = "C:/tmp/shot.png"  # temporary image storage docxfile = "C:/tmp/shots.docx" # main documenthotkey = 'ctrl+shift+q'  # use this combination anytime while script is runningdef do_cap():    try:        print ('Storing capture...')                hwnd = win32gui.GetForegroundWindow()  # active window        bbox = win32gui.GetWindowRect(hwnd)  # bounding rectangle        # capture screen        shot = pyautogui.screenshot(region=bbox) # take screenshot, active app        # shot = pyautogui.screenshot() # take screenshot full screen        shot.save(shotfile) # save screenshot                # append to document. Doc must exist.        doc = Document(docxfile) # open document        doc.add_picture(shotfile, width=Inches(7))  # add image, 7 inches wide        doc.save(docxfile)  # update document        print ('Done capture.')    except Exception as e:  # allow program to keep running        print("Capture Error:", e)keyboard.add_hotkey(hotkey, do_cap)  # set hot keysprint("Started. Waiting for", hotkey)keyboard.wait()   # Block forever
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python