【Python】截取目标窗口内容并保存

2023-05-13 14:30:37 浏览数 (1)

  • 相关参考文章:
    • python-鼠标拖拽
    • Python时间sleep()方法
    • 如何获取电脑桌面坐标,如何获取屏幕位置 超简单
    • ImageGrab.grab()方法截图之后,图片如何保存在指定路径
    • Python 脚本自动窗口截图
    • python windows 指定窗口截图
    • 完美解决 Could not find a version that satisfies the requirement 安装包名字 (from versions: )

  • 在微信小程序中拖动鼠标完成翻页功能,翻一页截一张图,并保存在本地。
代码语言:javascript复制
import win32con, win32gui
from PIL import ImageGrab
import os
import time
import pyautogui

# 获取窗口位置 & 句柄
def get_window_pos(name):
    name = name
    handle = win32gui.FindWindow(0, name)
    # 获取窗口句柄
    if handle == 0:
        return None
    else:
        # 返回坐标值和handle
        return win32gui.GetWindowRect(handle), handle

# 截取 & 保存
def cut_save(save_dir,target_nums):
    # 获取窗口坐标 & 句柄
    (x1, y1, x2, y2), handle = get_window_pos('要截取的窗口的窗口标题')
    # 发送还原最小化窗口的信息
    win32gui.SendMessage(handle, win32con.WM_SYSCOMMAND, win32con.SC_RESTORE, 0)
    # 将目标窗口移到最前面
    win32gui.SetForegroundWindow(handle)
    # 计数器
    count = 1
    while (count <= target_nums):
        # 截图
        img_ready = ImageGrab.grab((x1, y1, x2, y2))
        # 保存图片
        img_ready.save(os.path.join(save_dir, str(count)   '.png'))
        count = count   1

        pyautogui.moveTo(1164, 625)# 将光标移动到1164, 625
        pyautogui.dragTo(760, 625, 0.5, button='left')  # 按住鼠标左键,用0.5s将鼠标拖拽到760, 625
        time.sleep(0.1)# 延时0.1s


if __name__ == '__main__':
    # 保存路径,截取数量
    cut_save(r'保存路径',截取数量)

0 人点赞