侧边栏壁纸
博主头像
半生瓜のblog

THIS IS NO END.

  • 累计撰写 278 篇文章
  • 累计创建 19 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

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

xuanxuan
2022-12-11 / 0 评论 / 0 点赞 / 34 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-02-14,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

  • 在微信小程序中拖动鼠标完成翻页功能,翻一页截一张图,并保存在本地。
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

评论区