2.1 pyautogui基础讲解

第一节 pyautogui基础讲解

课程目标

  • 理解自动化编程的概念及其重要性
  • 掌握 pyautogui 库的安装和基本配置
  • 学会使用 pyautogui 进行基本的鼠标和键盘操作
  • 编写简单的自动化脚本并理解其运行原理

课程内容

1. 自动化编程与 pyautogui 概述
  • 定义:自动化编程是指使用代码自动执行重复性任务的过程。
  • 应用场景:网页自动化测试、自动化数据输入、游戏脚本等。
  • pyautogui 简介:一个用于控制鼠标和键盘的 Python 库。
pyautogui 环境搭建
  • 安装:通过命令行安装 pyautogui:
    • pip install pyautogui
    • pip install pyscreeze
    • pip install pillow
    • pip install opencv-python
  • 导入库
  • import pyautogui as pg
屏幕分辨率与尺寸
  • 获取屏幕尺寸
    screen_width, screen_height = pg.size()
    print("屏幕宽度:", screen_width)
    print("屏幕高度:", screen_height)
    
鼠标操作基础
  • 鼠标移动
    pg.moveTo(100, 100, duration=1)
    
  • 鼠标点击
    pg.click()
    
  • 鼠标拖拽
    pg.dragTo(200, 200, duration=1)
    
键盘操作基础
  • 输入文本
    pg.write('Hello, pyautogui!', interval=0.2)
    
  • 按键操作
    pg.press('enter')
    
  • 热键操作
    pg.hotkey('ctrl', 'c')
    
故障保护与暂停功能
  • 故障保护:设置故障保护时间,防止程序崩溃:
    pg.PAUSE = 1
    
  • 暂停操作:全局或局部暂停程序:
    time.sleep(2)  # 局部暂停
    
窗口操作
获取窗口
import pyautogui
pyautogui.getActiveWindowTitle()   # 返回当前活动(聚焦)窗口的标题
pyautogui.getAllTitles()  # 返回所有可见窗口的标题字符串列表
pyautogui.getWindowsWithTitle(“ibox”)   # 返回标题文本中包含子字符'ibox'的窗口对象列表。
获取窗口属性
import pyautogui
win = pyautogui.getWindowsWithTitle('Untitled')[0]  # win是title是'Untitled'的窗口对象
 
# 窗口对象的属性
win.size  #(132,100)返回元组,窗口大小
win.width  # 返回int,窗口的宽度
win.height  # 返回int,窗口的高度
win.topleft  # (10,10)返回元组,窗口最左上角坐标 
win.bottomright  # (200,200)返回元组,窗口最右下角坐标
win.top  # 返回int,窗口上边缘的y坐标值
win.left  # 返回int,窗口左边缘的x坐标值
win.isMaximized  # 返回bool,窗口是否是最大窗口
win.isMinimized   # 返回bool,窗口是否是最小窗口
操作窗口
import pyautogui
win = pyautogui.getWindowsWithTitle('Untitled')[0]  # win是title是'Untitled'的窗口对象
 
# 窗口对象的方法
win.maximize()   # 窗口最大化
win.minimize()   # 窗口最大化
win.restore()   # 恢复窗口大小
win.resize(200,200)   # 窗口x轴增加200,y轴增加200
win.resizeTo(200,200)   # 窗口变化至x轴宽度200,y轴宽度200
win.move(10, 10)   # 窗口相对当前位置x轴移动10,y轴移动10
win.moveTo(10, 10)   # 窗口移动至10,y轴移动至10,左上角坐标(10,10)

附录

应用场景

自动化编程是一种强大的技术,它可以在多种场景下提高效率、减少人为错误,并释放人力资源以专注于更有创造性的任务。以下是一些自动化编程的常见应用场景:

  1. 网页自动化

    • 表单填写和数据抓取
    • 网页测试和性能监控
    • 自动化网页交互,如点击、滚动等
  2. 数据录入与处理

    • 自动填充电子表格或数据库
    • 批量处理文件,如PDF、Word文档、Excel表格等
  3. 邮件和日程管理

    • 自动回复邮件
    • 日历事件的自动安排和提醒
  4. 图形用户界面(GUI)测试

    • 软件的自动化测试,包括功能测试和回归测试
    • 用户界面元素的交互测试
  5. 游戏自动化

    • 自动执行游戏任务和战斗
    • 游戏数据的收集和分析
  6. 系统管理

    • 自动化服务器和网络设备的配置
    • 监控系统性能和自动执行维护任务
  7. 内容创作

    • 自动生成报告和文档
    • 辅助设计和创作过程,如自动生成草图或概念图
  8. 社交媒体管理

    • 自动发布内容到不同的社交平台
    • 监控社交媒体活动并生成报告
  9. 客户服务

    • 聊天机器人自动回答常见问题
    • 自动化客户反馈的收集和分析
  10. 电子商务

    • 自动化订单处理和库存管理
    • 价格监控和自动重新定价
  11. 科研和数据分析

    • 自动化数据收集和清洗过程
    • 运行复杂的统计分析和模拟
  12. 教育和在线学习

    • 自动化测试和评分系统
    • 个性化学习路径的推荐
  13. 金融和会计

    • 自动化交易和投资策略的执行
    • 财务报表的生成和审计
  14. 法律和合规

    • 自动化合同审查和风险评估
    • 合规性检查和报告生成
  15. 医疗健康

    • 电子健康记录的自动更新和管理
    • 药物剂量和治疗计划的自动化建议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值