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

凯里建设网站自适应网站开发

凯里建设网站,自适应网站开发,门头广告设计与制作,网站建设的优点与不足No24: PyAutoGUI 实现桌面自动化 摘要 PyAutoGUI 是一个跨平台的桌面自动化工具,能够模拟鼠标点击、键盘输入、屏幕截图与图像识别,适用于重复性桌面任务(如表单填写、游戏操作、批量文件处理)。本集通过代码截图输出日志的实战形…

No24: PyAutoGUI 实现桌面自动化


摘要

PyAutoGUI 是一个跨平台的桌面自动化工具,能够模拟鼠标点击、键盘输入、屏幕截图与图像识别,适用于重复性桌面任务(如表单填写、游戏操作、批量文件处理)。本集通过代码+截图+输出日志的实战形式,带你掌握从基础操作到复杂任务的全流程自动化。


在这里插入图片描述

核心概念与代码实战

1. 基础操作:鼠标与键盘控制

安装命令

pip install pyautogui  

鼠标控制

import pyautogui  
import time  # 移动鼠标到坐标 (500, 300)  
pyautogui.moveTo(500, 300, duration=1)  # 模拟点击(左键单击)  
pyautogui.click()  # 滚轮滚动(向上滚动 200 单位)  
pyautogui.scroll(200)  

键盘输入

# 输入文本  
pyautogui.write("Hello, PyAutoGUI!", interval=0.1)  # 组合键操作(Ctrl+C)  
pyautogui.hotkey("ctrl", "c")  

效果验证

print(f"当前鼠标位置:{pyautogui.position()}")  # 输出实时坐标  

2. 截屏与图像识别

场景:通过屏幕上的图标定位并点击按钮。

# 截取屏幕并保存  
screenshot = pyautogui.screenshot()  
screenshot.save("screenshot.png")  # 查找图标位置(需提前保存图标图片)  
button_location = pyautogui.locateOnScreen("submit_button.png")  
if button_location:  # 计算图标中心点并点击  button_center = pyautogui.center(button_location)  pyautogui.click(button_center)  
else:  print("图标未找到!")  

输出示例

图标位置:Box(left=200, top=150, width=50, height=30)  

3. 脚本调试与异常处理

问题场景:图像识别失败导致脚本崩溃。
解决方案

try:  # 设置超时时间为 5 秒  button_location = pyautogui.locateOnScreen(  "save_icon.png",  confidence=0.8,  # 允许 80% 相似度  grayscale=True   # 灰度匹配提升速度  )  if not button_location:  raise Exception("图标匹配失败!")  
except Exception as e:  print(f"错误:{e}")  # 回退到手动输入坐标  pyautogui.click(100, 200)  

调试技巧

  • 使用 pyautogui.PAUSE = 1 控制操作间隔
  • 启用 pyautogui.FAILSAFE = True(鼠标移至左上角强制停止脚本)

实战案例

案例 1:自动化填写表单

场景:批量填写 Excel 表格中的数据到某个桌面应用。

import pyautogui  
import pandas as pd  # 读取 Excel 数据  
data = pd.read_excel("data.xlsx")  for index, row in data.iterrows():  # 定位输入框并填写  pyautogui.click(300, 400)  # 姓名输入框  pyautogui.write(row["姓名"])  pyautogui.press("tab")      # 跳转到年龄输入框  pyautogui.write(str(row["年龄"]))  # 提交表单  pyautogui.press("enter")  time.sleep(1)  # 等待页面刷新  

输出示例

已提交姓名:张三,年龄:25  
已提交姓名:李四,年龄:30  
案例 2:模拟游戏中的简单操作

场景:自动玩“键盘反应速度”游戏。

# 监听屏幕特定区域的变化  
game_region = (400, 200, 200, 100)  while True:  # 截取游戏区域  region_screenshot = pyautogui.screenshot(region=game_region)  # 检测红色方块出现  if pyautogui.pixelMatchesColor(500, 250, (255, 0, 0)):  pyautogui.press("space")  # 按空格键得分  
案例 3:批量重命名文件

场景:将文件夹中的 100 张图片按规则重命名。

import os  
import pyautogui  # 打开文件资源管理器  
os.system("explorer.exe .\\images")  
time.sleep(2)  # 依次重命名文件  
for i in range(1, 101):  pyautogui.hotkey("ctrl", "a")    # 全选文件  pyautogui.press("f2")            # 重命名  pyautogui.write(f"photo_{i:03d}")  # 格式化名称(photo_001)  pyautogui.press("enter")  time.sleep(0.5)  

扩展思考

1. PyAutoGUI 与其他工具的结合
  • 与 Selenium 结合
    # 用 Selenium 处理网页,PyAutoGUI 处理下载弹窗  
    driver.get("https://example.com/download")  
    pyautogui.press("enter")  # 自动确认下载对话框  
    
  • 打包为可执行文件
    pip install pyinstaller  
    pyinstaller --onefile your_script.py  
    
2. 安全性和法律合规性
  • 风险提示
    • 避免自动化操作金融交易、社交账号等敏感场景
    • 部分软件(如游戏)可能禁止自动化脚本
  • 合规建议
    • 仅用于个人效率提升或授权场景
    • 遵守《计算机软件保护条例》和平台规则

总结

通过本实战,你已掌握:

  1. PyAutoGUI 的核心操作(鼠标、键盘、图像识别)
  2. 复杂任务的异常处理与调试技巧
  3. 从表单填写到游戏模拟的完整案例
  4. 自动化脚本的法律边界与安全实践

下集预告
《No25: Python 并发编程:从多线程到异步 IO》将带你突破单线程性能瓶颈,实现高并发任务处理!


附:运行环境

  • 环境要求:Python 3.7+、Windows/macOS/Linux

文章转载自:

http://7TOg4daf.rygLh.cn
http://oNXST4Hw.rygLh.cn
http://1SaKas8b.rygLh.cn
http://gXBeO6UD.rygLh.cn
http://ZKparpi5.rygLh.cn
http://ZmEoP0l4.rygLh.cn
http://S3FxxE50.rygLh.cn
http://nwkmuzti.rygLh.cn
http://shOIhBzU.rygLh.cn
http://VZUfYkMc.rygLh.cn
http://c9k3i2Bm.rygLh.cn
http://RQ8QOI1H.rygLh.cn
http://Dislsjnc.rygLh.cn
http://i8vVm3BT.rygLh.cn
http://g1dc1Vir.rygLh.cn
http://UZcyAWcK.rygLh.cn
http://2XmxM8sM.rygLh.cn
http://94aehBJK.rygLh.cn
http://7enNFpbW.rygLh.cn
http://pCPFaE00.rygLh.cn
http://Y6Jf1fVU.rygLh.cn
http://I3xzDkV2.rygLh.cn
http://4RisNoKJ.rygLh.cn
http://6WvJcfEx.rygLh.cn
http://wXXWpwze.rygLh.cn
http://j9q3vI7Z.rygLh.cn
http://2qj3K1VK.rygLh.cn
http://ptfhCKKn.rygLh.cn
http://AIPRZr6r.rygLh.cn
http://5fQEjG7r.rygLh.cn
http://www.dtcms.com/wzjs/750255.html

相关文章:

  • 天津响应式网站建设2023北京封控了
  • 网络商城网站怎样做关键词优化北京网站建设价格低
  • 企业网站建设方案优化做维修那个网站发布信息好
  • 医院网站建设公司价格低重庆seo技术博客
  • 网站收录提交入口大全wordpress能商用吗?
  • 关于论文网站开发参考文献网站设计做什么
  • 百度网盘做自已网站营销型网站建站
  • 搭建网站属于什么专业无线网络
  • 广东网站建设方案报价朝阳区北京网站建设
  • 大连网站建设求职简历中英 网站模板 带手机版
  • 本机可以做网站的服务器吗公司域名更改 网站怎么做提示
  • 百度网站优化升上去做网站推广挣多少钱
  • 外贸网站推广如何做建盏产业品牌
  • 巴西网站后缀知页怎么转换wordpress
  • 国产化网站建设wordpress用户密码重置
  • 太原市住房和城乡建设局的网站售票网站建设
  • 中国建设银行网站首页手机银行网站建设电
  • 石家庄做网站网络公司腾讯域名注册官网
  • 杭州建设信用网新网站个人网站可以做经营性的吗
  • 北京美的网站一般通过中介找工作需要多少钱
  • 网站seo文章该怎么写免费企业网站认证
  • 阿里云linux主机如何添加2个网站福田欧曼重卡
  • 计算机网站建设维护的基本知识wordpress调用当前页文章
  • 烟台公司中企动力提供网站建设朝阳住房和城乡建设官方网站
  • .net电商网站开发设计申请一个网站空间
  • 简单的招聘网站怎么做大型电子商务网站需要配服务器
  • 易语言做购物网站赣州深科网站建设
  • 网页设计网站源代码wordpress摘要 字数
  • 医院内外网站建设可以自建网站吗
  • 青海海东住房和城乡建设局网站wordpress评论点评