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

python 自动化模块 - pyautogui初探

python 自动化模块 - pyautogui

  • 引言
  • 一、安装测试
  • 二、简单使用
  • 三、常用函数总结

引言

在这里插入图片描述
在画图软件中使用pyautogui拖动鼠标,画一个螺旋式的正方形 - (源码在下面)

PyAutoGUI允许Python脚本控制鼠标和键盘,以自动化与其他应用程序的交互。API的设计非常简单,适用于Windows、macOS和Linux。功能如下:

    1. 移动鼠标并在其他应用程序的窗口中单击。
    1. 向应用程序发送按键(例如,填写表格)。
    1. 截屏,并给出一个图像(例如,按钮或复选框),然后在屏幕上找到它。
    1. 找到应用程序的窗口,然后移动、调整大小、最大化、最小化或关闭它(当前仅限Windows)。
    1. 显示警报和消息框。

pyautogui是一个用于进行屏幕操作的Python库。它可以模拟鼠标移动、点击,键盘输入等操作,可以用于自动化任务或者进行简单的UI测试。pyautogui在Windows、macOS和Linux系统上都可以使用,并且支持Python2和Python3。使用pyautogui可以实现一些常见的屏幕操作,例如移动鼠标、点击鼠标、输入文本等。同时,它还可以识别屏幕上的像素颜色、获取屏幕截图等功能。需要注意的是,由于pyautogui是基于屏幕坐标操作的,所以在使用过程中需要确保屏幕分辨率和尺寸的一致性,以免操作错误。并且相比pywinauto,其更简单易上手1

  • 官方文档2:https://pyautogui.readthedocs.io/en/latest/

一、安装测试

    1. 下载安装:pip install pyautogui
    1. 使用pyautogui.position()获取鼠标坐标:
      在这里插入图片描述
import pyautogui
import time
print('Press Ctrl-C to quit.')# 备份坐标
_x = 0
_y = 0try:while True:time.sleep(3)                # 睡3秒钟x, y = pyautogui.position()  # 获取鼠标坐标if x != _x or y != _y:_x = x_y = ypositionStr = 'X: ' + str(x) + ' Y: ' + str(y)print(positionStr, flush=True)
except KeyboardInterrupt:print('\n')
    1. 移动鼠标,执行点击
pyautogui.click(x=100, y=200) # 移动到相应坐标,点击左键

二、简单使用

参考官方文档:https://pyautogui.readthedocs.io/en/latest/index.html#
在这里插入图片描述

import pyautoguidistance = 50
while distance > 0:pyautogui.drag(distance, 0, duration=0.5)   # move rightdistance -= 5pyautogui.drag(0, distance, duration=0.5)   # move downpyautogui.drag(-distance, 0, duration=0.5)  # move leftdistance -= 5pyautogui.drag(0, -distance, duration=0.5)  # move up

三、常用函数总结

  • pyautogui.position() 获取鼠标坐标
  • pyautogui.moveTo(100, 200) 移动鼠标,函数加To是绝对位置,不加为相对位置
  • pyautogui.dragTo(100, 200, button='left') 按下左键,拖动鼠标
  • pyautogui.click() x,y是坐标;clicks是点击次数;interval为点击间隔时间;button (str格式)可设置为 ‘right’ 默认’left’
    在这里插入图片描述
  • pyautogui.press('a') 键盘按下a;pyautogui.keyDown('a') 按住a;pyautogui.keyUp('a') 抬起 等等,可以传的参数就是键盘上的按键:
    在这里插入图片描述
  • pyautogui.confirm(text='confirm', title='confirm', buttons=['OK', 'Cancel']) 弹出对话框
    在这里插入图片描述
  • pyautogui.screenshot() 屏幕截图,可以选择保存的图片名称与截图区域
    在这里插入图片描述

  1. https://www.bilibili.com/read/cv22905820/ 用Python实现PC端应用自动化的准备工作(pyautogui\pywinauto) ↩︎

  2. https://pyautogui.readthedocs.io/en/latest/ 官方文档 ↩︎

http://www.lryc.cn/news/284403.html

相关文章:

  • UE5 蓝图编辑美化学习
  • 基于动态顺序表实现通讯录项目
  • python使用jupyter记笔记
  • C#封装服务
  • 手写Vue3源码
  • 如何无需重复输入FTP信息来安装WordPress主题和插件
  • 开发安全之:JSON Injection
  • 各种Linux版本安装Docker
  • git中合并分支时出现了代码冲突怎么办
  • 什么是防火墙?
  • tui.calender日历创建、删除、编辑事件、自定义样式
  • OpenHarmonyOS-gn与Ninja
  • Docker部署Traefik结合内网穿透远程访问Dashboard界面
  • 2024年甘肃省职业院校技能大赛信息安全管理与评估 样题二 理论题
  • 从代码到项目管理:程序员的职业跃迁与PMP认证之路
  • 空间形状对结构加法产物的影响
  • 构建高效外卖系统:技术实践与代码示例
  • HCIP-BGP选路实验
  • 线性表--顺序表
  • 前端面试题:节流和防抖
  • 网络工程师学习笔记——交换机路由器 数据传输
  • 【论文笔记】A Survey on 3D Gaussian Splatting
  • 项目实战————苍穹外卖(DAY11)
  • 非常好用的Mac清理工具CleanMyMac X 4.14.7 如何取消您对CleanMyMac X的年度订购
  • 【51单片机系列】proteus仿真单片机的串口通信
  • 【Qt】对象树与坐标系
  • 【设计模式】腾讯二面:自动贩卖机/音频播放器使用了什么设计模式?
  • 转换操作符转换类型:普通函数指针(普通函数、类的静态函数)、类的成员函数指针
  • 易控智驾高精度地图开发工程师校招一面、二面面经
  • 用VSCode玩STM32的烧录工具 CooCox Cortex Flash Programmer