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

python 通过操作鼠标定位来操作Windows软件模拟人工操作

import pyautogui
import time# 安全设置:启用紧急停止(将鼠标移动到屏幕左上角可停止脚本)
pyautogui.FAILSAFE = True
# 设置每个操作之间的暂停时间(秒)
pyautogui.PAUSE = 1.0from pynput.keyboard import Controller, Key
import pyperclip
import timedef input_chinese_with_pynput(text):"""使用 Pynput 输入中文"""keyboard = Controller()# 复制到剪贴板import pyperclippyperclip.copy(text)# 模拟 Ctrl+V 粘贴with keyboard.pressed(Key.ctrl):keyboard.press('v')keyboard.release('v')def desktop_search(search_text, x, y):"""在桌面指定位置点击、输入内容并搜索参数:search_text: 要搜索的文本内容x, y: 桌面点击位置的坐标(像素)"""# 1. 移动鼠标到指定位置pyautogui.moveTo(x, y)time.sleep(0.5)  # 等待鼠标移动完成# 2. 点击桌面位置(左键单击)pyautogui.click(x, y)time.sleep(0.5)  # 等待点击生效# 3. 输入搜索内容input_chinese_with_pynput(search_text)# pyautogui.typewrite(search_text, interval=0.05)  # interval控制输入速度# 4. 按回车键执行搜索pyautogui.press('enter')pyautogui.press('enter')pyautogui.click(314, 900)time.sleep(0.5)  # 等待点击生效# pyautogui.typewrite("zuijinguodehaoma", interval=0.1)input_chinese_with_pynput('你好测试!')time.sleep(2)  # 等待点击生效pyautogui.press('space')time.sleep(0.5)  # 等待点击生效pyautogui.press('enter')time.sleep(0.5)  # 等待点击生效pyautogui.click(597, 47)time.sleep(0.5)  # 等待点击生效pyautogui.click(458, 181)time.sleep(0.5)  # 等待点击生效pyautogui.click(810, 244)time.sleep(0.5)  # 等待点击生效pyautogui.click(723, 281)time.sleep(0.5)  # 等待点击生效pyautogui.moveTo(800, 352)time.sleep(0.5)  # 等待鼠标移动完成# 按鼠标右键pyautogui.rightClick()pyautogui.click(375, 43)time.sleep(0.5)  # 等待点击生效pyautogui.click(375, 43)time.sleep(0.5)  # 等待点击生效print(f"已在位置({x}, {y})输入'{search_text}'并执行搜索")# 使用示例
if __name__ == "__main__":# 示例:在坐标(500, 300)处点击并搜索"Python教程"while True:desktop_search("baby", 141, 43)time.sleep(10)desktop_search("文件传输助手", 141, 43)

  

http://www.jsqmd.com/news/503459/

相关文章:

  • 如何从零开始打造你的Stack-Chan?解锁JavaScript驱动机器人的创意无限指南
  • ESP32 OTA更新实战:PlatformIO+Arduino框架下的5分钟快速配置指南
  • 深入解析虚幻引擎多线程渲染的数据同步机制
  • 基于粒子群算法的配电网重构算法优化研究:降低有功网损,采用前推回代法及IEEE33节点标准模型...
  • 2026年3月优质的东莞线盘厂家选择指南:塑料线盘、电缆盘、周转线盘、高速线盘、胶盘、高速盘、高速线盘、一体式线盘、定制线盘OEM厂家 - 海棠依旧大
  • 如何3分钟创建专业简历:Magic Resume完整使用指南 ✨
  • 物联网卡突然没信号?5分钟搞定中国移动APN配置与常见故障排查
  • 避坑指南:WSL迁移后CUDA环境/网络配置/权限问题的修复大全
  • 可持续AI实践:OpenClaw+Qwen3-32B的能耗监控与优化
  • 为什么 ArrayList 和 LinkedList 是线程不安全的?
  • 如何用Waifu Diffusion v1.3在5分钟内创作专业级动漫角色
  • DCDC模块电源滤波实战:如何正确选择X/Y安规电容实现±5V稳定输出
  • 死锁 详解
  • ai coding工具共性(四)skill
  • 从ENVI FLAASH到地表参量反演:一份完整的遥感数据处理实战指南
  • yz-女生-角色扮演-造相Z-Turbo与Python爬虫结合:自动采集并生成动漫角色数据集
  • 从零到一:在Ubuntu 18.04上构建PX4-Autopilot开发环境全攻略
  • Cosmos-Reason1-7B数据库设计助手:基于MySQL的智能ER图生成与优化
  • AMD SMU调试工具深度解析:实现处理器性能调优的终极指南
  • 电源设计必看:X/Y电容选型避坑指南(附漏电流计算公式)
  • GPU Power Brake设置全攻略:主动与被动模式详解及性能影响实测
  • ArcGIS进阶:从数据到洞察,土地利用时空演变分析与可视化全流程
  • 从Docker Compose到生产环境:我的DolphinScheduler高可用架构演进实录
  • Aprilgrid标定板参数详解:如何选择最适合你的tsize和tspace?
  • 2025美赛论文排版终极指南:从Word到LaTeX的5种O奖模板实战
  • Claude Skills大揭秘:让你的AI不仅能说会道,更能高效执行!
  • 社区生鲜买菜小程序前端功能版块设计及玩法介绍
  • 开启图像处理之旅:C# 与 OpenCV 的奇妙结合
  • Dva + ECharts 实战:如何优化React大屏项目的性能与可维护性
  • 正则化实战:用Python实现L1和L2正则化并比较它们的实际效果