news 2026/9/3 3:18:59

在最小化浏览器的情况下给浏览器截图 python

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在最小化浏览器的情况下给浏览器截图 python
import win32gui import win32ui import win32con import win32api from PIL import Image import time from ctypes import windll def capture_window_by_title(window_title, output_path="window_capture.png"): """ 根据窗口标题截取指定窗口内容,无需激活窗口 Args: window_title: 窗口标题(部分匹配) output_path: 输出图片路径 """ # 查找窗口句柄 def enum_windows_callback(hwnd, windows): if win32gui.IsWindowVisible(hwnd): window_text = win32gui.GetWindowText(hwnd) if window_title.lower() in window_text.lower(): windows.append(hwnd) return True windows = [] win32gui.EnumWindows(enum_windows_callback, windows) if not windows: print(f"未找到包含 '{window_title}' 的窗口") return None # 选择第一个匹配的窗口 hwnd = windows[0] # 获取窗口位置和大小 left, top, right, bottom = win32gui.GetWindowRect(hwnd) width = right - left height = bottom - top # 获取设备上下文 hwndDC = win32gui.GetWindowDC(hwnd) mfcDC = win32ui.CreateDCFromHandle(hwndDC) saveDC = mfcDC.CreateCompatibleDC() # 创建位图 saveBitMap = win32ui.CreateBitmap() saveBitMap.CreateCompatibleBitmap(mfcDC, width, height) saveDC.SelectObject(saveBitMap) # 使用 PrintWindow API 截取窗口 result = windll.user32.PrintWindow(hwnd, saveDC.GetSafeHdc(), 3) if result: # 转换为PIL图像 bmpinfo = saveBitMap.GetInfo() bmpstr = saveBitMap.GetBitmapBits(True) im = Image.frombuffer( 'RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1) im.save(output_path) print(f"窗口截图已保存到: {output_path}") # 清理资源 win32gui.DeleteObject(saveBitMap.GetHandle()) saveDC.DeleteDC() mfcDC.DeleteDC() win32gui.ReleaseDC(hwnd, hwndDC) return output_path if result else None # 使用示例 if __name__ == "__main__": # 截取Edge浏览器窗口 capture_window_by_title("Edge", "edge_capture.png")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 0:18:56

闽南美食文化推广微信小程序设计与实现开题报告

学号姓名指导教师题目闽南美食文化推广微信小程序设计与实现课题内容:(研究现状、目标、意义等,空白不足可增加页面)研究现状:闽南美食文化源远流长,丰富多彩,是地方特色文化的重要组成部分。然…

作者头像 李华
网站建设 2026/9/2 23:19:36

【保姆级教程】零基础微调大模型:Python实现+免费GPU+本地部署!

简介 本文详细介绍使用Python微调大模型的全流程,利用Unsloth工具和Google Colab免费GPU资源,从数据收集、模型加载、LoRA适配器添加到训练,最终通过Ollama实现本地部署。以HTML信息提取为例,提供完整代码和最佳实践,…

作者头像 李华
网站建设 2026/9/3 1:14:57

Android不安全银行v2:移动安全测试实战指南

Android不安全银行v2(InsecureBankv2)是一个专门为移动安全学习设计的开源项目,它模拟了一个存在多种安全问题的银行应用程序。通过实际操作这个项目,开发者和安全研究人员可以深入了解Android应用中常见的风险类型、分析方法以及…

作者头像 李华
网站建设 2026/9/3 1:14:18

闽南美食文化推广微信小程序设计与实现开题报告(3)

学号姓名指导教师题目闽南美食文化推广微信小程序设计与实现课题内容:(研究现状、目标、意义等,空白不足可增加页面)研究现状:闽南美食文化源远流长,丰富多彩,是地方特色文化的重要组成部分。然…

作者头像 李华
网站建设 2026/8/28 15:23:28

从存档困境到游戏自由:ER-Save-Editor的智能解救之道

当你因误删关键道具而陷入重玩数十小时的绝望,当角色属性加点失误让你在Boss战前寸步难行,《艾尔登法环》的存档系统似乎成了无法逾越的障碍。但一款名为ER-Save-Editor的工具正悄然改变这一局面,让每位玩家都能重新掌控自己的游戏命运。 【免…

作者头像 李华