本文通过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)