python实现鼠标停留页面超过一定时间截屏并保存

本文通过python来实现监控电脑鼠标在某个页面上停留超过5秒就截屏并将图片保存在指定文件夹下

代码实现:

# !/usr/bin/env python
# -*- coding:utf-8 -*-

"""
@file: Computer_mouse.py
@author: czx
@time: 2024/3/29 9:48
"""
import time
from PIL import ImageGrab
import pyautogui
import os

# 设置截屏的文件夹路径
screenshots_folder = r'D:\job\remote_login\screenshots'

# 检查文件夹是否存在,如果不存在则创建
if not os.path.exists(screenshots_folder):
    os.makedirs(screenshots_folder)

# 定义一个变量来记录上次鼠标移动的位置
last_mouse_position = None
# 定义一个变量来记录上次鼠标移动的时间
last_mouse_move_time = None


# 定义一个函数来截屏并保存
def capture_screen():
    # 截取屏幕图像
    screenshot = ImageGrab.grab()
    # 获取当前时间戳
    timestamp = time.strftime('%Y%m%d-%H%M%S')
    # 构造文件名
    screenshot_file = os.path.join(screenshots_folder, f'screenshot-{timestamp}.png')
    # 保存截图到指定文件夹
    screenshot.save(screenshot_file)
    print(f'Screenshot saved as {screenshot_file}')


# 主循环,监控鼠标位置
while True:
    # 获取当前鼠标位置
    current_mouse_position = pyautogui.position()

    # 检查是否是第一次检测到鼠标位置
    if last_mouse_position is None:
        last_mouse_position = current_mouse_position
        last_mouse_move_time = time.time()
    else:
        # 计算鼠标位置的变化
        if current_mouse_position != last_mouse_position:
            # 更新上次鼠标移动的位置和时间
            last_mouse_position = current_mouse_position
            last_mouse_move_time = time.time()
        else:
            # 检查鼠标是否静止超过5秒
            if time.time() - last_mouse_move_time > 5:
                capture_screen()  # 截屏并保存

    # 短暂休眠以减少CPU占用
    time.sleep(0.5)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值