当前位置: 首页 > news >正文

【python实用小脚本系列】用Python让鼠标“动起来”:光标自动移动、自动点击、自动图象识别的小技巧

用Python让鼠标“动起来”:自动移动光标的小技巧

在日常使用电脑的过程中,你有没有遇到过这样的情况:当你离开电脑一会儿,屏幕就自动锁定了,等你回来时还得重新输入密码,是不是有点麻烦?今天,我来给大家分享一个超实用的小工具——一个用Python编写的自动鼠标移动器。它能帮你解决这个问题,让鼠标在你离开电脑时自动移动,防止屏幕锁定。听起来是不是很神奇?别急,接下来我将带你一步步了解它的奥秘。

核心代码解析

这个脚本的核心功能非常简单,就是让鼠标光标在屏幕上自动移动。我们来看看它是怎么实现的。

import pyautogui  # 导入pyautogui库,用于控制鼠标
import time       # 导入time库,用于控制时间间隔while True:  # 创建一个无限循环pyautogui.moveRel(0, 8)  # 将鼠标光标相对当前位置向下移动8像素time.sleep(5)            # 每次移动后暂停5秒

这段代码的核心在于pyautogui.moveRel函数,它可以让鼠标光标相对当前位置移动指定的像素值。在这个例子中,我们让鼠标光标每次向下移动8像素。time.sleep(5)则让程序每次移动后暂停5秒,这样可以避免鼠标移动得太快,导致屏幕闪烁或其他问题。

更复杂的应用场景

场景一:防止电脑睡眠

如果你的电脑在一段时间内没有操作就会进入睡眠模式,而你又不想手动操作鼠标来保持电脑唤醒,可以扩展这个脚本,让它更智能地控制鼠标移动。

import pyautogui
import timedef keep_awake():print("程序已启动,将自动移动鼠标以防止电脑睡眠...")try:while True:pyautogui.moveRel(0, 10)  # 向下移动10像素time.sleep(60)            # 每60秒移动一次pyautogui.moveRel(0, -10) # 向上移动10像素,回到原来位置time.sleep(60)            # 再次暂停60秒except KeyboardInterrupt:print("程序已停止。")if __name__ == "__main__":keep_awake()

这个脚本会在每隔60秒自动移动鼠标10像素,然后在下一个60秒内再移回原来的位置。这样可以有效防止电脑进入睡眠模式,同时不会让鼠标光标移动得太明显。

场景二:模拟用户操作

如果你需要在某些自动化任务中模拟用户操作,比如在测试软件时自动点击某些按钮,可以扩展这个脚本,让它在移动鼠标的同时进行点击操作。

import pyautogui
import time
import randomdef simulate_user_activity():print("程序已启动,将模拟用户操作...")try:while True:# 随机移动鼠标到屏幕的某个位置pyautogui.moveTo(random.randint(0, 1920), random.randint(0, 1080))time.sleep(2)  # 暂停2秒pyautogui.click()  # 点击鼠标time.sleep(5)  # 暂停5秒except KeyboardInterrupt:print("程序已停止。")if __name__ == "__main__":simulate_user_activity()

这个脚本会每隔几秒随机移动鼠标到屏幕的某个位置,并进行一次点击操作。这可以用来模拟用户在电脑上的随机操作,适用于自动化测试或其他需要模拟用户行为的场景。

总结

通过今天的分享,你是不是觉得用Python控制鼠标其实并不难?这个简单的脚本虽然只有几行代码,但却非常实用。你可以根据自己的需求进行扩展,让它在更多的场景中发挥作用。无论是防止电脑睡眠,还是模拟用户操作,它都能帮你实现。需要完整的源码,请在评论区留言,或私信我。

相关文章:

  • CSS 中实现 div 居中有以下几种常用方法
  • ADB -> pull指令推送电脑文件到手机上
  • 大数据学习(109)-Impala 和 Hive 之间的 SQL 差异
  • 机器学习 Day13 Boosting集成学习方法: Adaboosting和GBDT
  • Spark-SQL连接Hive总结及实验
  • 使用SystemWeaver生成SOME/IP ETS ARXML的完整实战指南
  • 23种设计模式-结构型模式之外观模式(Java版本)
  • C++std::map
  • 批量替换多个 Word 文档中的指定图片
  • Spark SQL核心解析:大数据时代的结构化处理利器
  • 奇怪的问题
  • 【大数据分析】Apache Doris高性能实时分析数据库:MPP架构下的多场景应用与优势分析以及部署应用
  • 第十四届蓝桥杯 2023 C/C++组 飞机降落
  • 外网如何连接内网中的mysql数据库服务器
  • 云原生--基础篇-2--云计算概述(云计算是云原生的基础,IaaS、PaaS和SaaS服务模型)
  • 微信小程序 == 倒计时验证码组件 (countdown-verify)
  • 【Linux】:HTTPS协议
  • 阿里V2 点击验证码/新版 2.0-2.1-3.1-3.2 动态Fell
  • 【上位机——MFC】运行时类信息机制
  • C++ GPU并行计算开发实战:利用CUDA/OpenCL加速粒子系统与流体模拟
  • 国务院国资委:推动央企强化资金统筹,确保及时付款
  • 我国与沙特签署《核能发展安全与安保合作谅解备忘录》
  • 山西一国道发生塌陷,造成4车追尾2人死亡
  • 义乌女老板对CNN霸气喊话:美国要货就给,不要就分给其他客户
  • 智慧菜场团标试验:标准化的同时还能保留个性化吗?
  • 观察|智驾监管升级挤掉宣传水分,行业或加速驶入安全快车道