Python 自动化详解(pyautogui)

文章目录

  • [1 概述](#1 概述)
    • [1.1 第三方库:pyautogui](#1.1 第三方库:pyautogui)
    • [1.2 坐标说明](#1.2 坐标说明)
  • [2 操作对象](#2 操作对象)
    • [2.1 鼠标](#2.1 鼠标)
      • [2.1.1 定位](#2.1.1 定位)
      • [2.1.2 移动](#2.1.2 移动)
      • [2.1.3 拖动](#2.1.3 拖动)
      • [2.1.4 滚动](#2.1.4 滚动)
      • [2.1.5 点击](#2.1.5 点击)
    • [2.2 键盘](#2.2 键盘)
      • [2.2.1 输入](#2.2.1 输入)
      • [2.2.2 按键](#2.2.2 按键)
      • [2.2.3 快捷键](#2.2.3 快捷键)
    • [2.3 屏幕](#2.3 屏幕)
      • [2.3.1 截图](#2.3.1 截图)
      • [2.3.2 分辨率](#2.3.2 分辨率)
    • [2.4 信息提示](#2.4 信息提示)
      • [2.4.1 提示框](#2.4.1 提示框)
      • [2.4.2 选择框](#2.4.2 选择框)
      • [2.4.3 密码输入](#2.4.3 密码输入)
      • [2.4.4 普通输入](#2.4.4 普通输入)

1 概述

1.1 第三方库:pyautogui

python 复制代码
> pip install pyautogui

1.2 坐标说明

2 操作对象

2.1 鼠标

2.1.1 定位

python 复制代码
import pyautogui

# 鼠标定位:鼠标的 x,y 坐标
position = pyautogui.position()
print(f'x = {position.x}, y = {position.y}')

2.1.2 移动

python 复制代码
import pyautogui

# 移动鼠标:两种方式
# 常用属性:x=横坐标,y=纵坐标,duration=持续时间(默认 0)
pyautogui.moveTo(x=100, y=200, duration=1)  # 方式1:移动至
pyautogui.moveRel(x=10, y=20)  # 方式2:按方向移动 x: 正右负左、y:正上负下

2.1.3 拖动

python 复制代码
import pyautogui

# 移动拖动:两种方式
# 常用属性:x=横坐标,y=纵坐标,duration=持续时间(默认 0)
pyautogui.dragTo(x=100, y=200, duration=1)  # 方式1:移动至
pyautogui.dragRel(xOffset=10, yOffset=20)  # 方式2:按方向移动 x: 正右负左、y:正上负下

2.1.4 滚动

python 复制代码
import pyautogui

# 移动滚动
pyautogui.scroll(20)

2.1.5 点击

python 复制代码
import pyautogui

# 单击鼠标
pyautogui.click(10, 20)  # 鼠标点击指定位置,默认左键
pyautogui.click(x=10, y=20, button='left')  # 左键
pyautogui.click(x=10, y=20, button='right')  # 右键
pyautogui.click(x=10, y=20, button='middle')  # 中间

# 双击鼠标
pyautogui.doubleClick(10, 10)  # 左键
pyautogui.rightClick(10, 10)  # 右键
pyautogui.middleClick(10, 10)  # 中间

# 点击 & 释放
pyautogui.mouseDown()  # 鼠标按下
pyautogui.mouseUp()  # 鼠标释放

2.2 键盘

2.2.1 输入

python 复制代码
import pyautogui


pyautogui.write('Hello World')  # 立即输出
pyautogui.write('Hello World', interval=0.5)  # 间隔0.5s输出

2.2.2 按键

python 复制代码
import pyautogui

pyautogui.keyDown('enter')  # 按下指定键
pyautogui.keyUp('enter')  # 松开指定键

# 效果同上
pyautogui.press('enter')  # 按一次指定键

注:暂不支持中文

键盘字符串 说明
enter 回车键
tab TAB 键
space 空格键
up、down、left、right 方向键
ctrl Ctrl 键
... ...

2.2.3 快捷键

python 复制代码
pyautogui.hotkey('ctrl', 'a')  # 选中
pyautogui.hotkey('ctrl', 'c')  # 复制
pyautogui.hotkey('ctrl', 'v')  # 粘贴


pyautogui.hotkey('ctrl', 'alt', 'a')

2.3 屏幕

2.3.1 截图

python 复制代码
import pyautogui


img = pyautogui.screenshot()
img.save('屏幕截图.jpg')

2.3.2 分辨率

python 复制代码
import pyautogui

size = pyautogui.size()
print(size)  # Size(width=1366, height=768)

# 坐标原点(0, 0), 坐标终点(width-1, height-1)
print(pyautogui.onScreen(1366, 768))  # False
print(pyautogui.onScreen(1365, 767))  # True

2.4 信息提示

2.4.1 提示框

python 复制代码
import pyautogui

text = pyautogui.alert(text="这是一个提示框", title='提示')
print(text)  # OK

2.4.2 选择框

python 复制代码
import pyautogui

text = pyautogui.confirm('请选择一项', buttons=['选项 A', '选项 B', '选项 C'])
print(text)  # buttons 中的取值

2.4.3 密码输入

python 复制代码
import pyautogui

text = pyautogui.password('请输入密码:')
print(text)

2.4.4 普通输入

python 复制代码
import pyautogui

text = pyautogui.prompt('请输入:')
print(text)
相关推荐
dundunmm5 分钟前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神5 分钟前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做6 分钟前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
Swift社区14 分钟前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
一道微光18 分钟前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
矛取矛求23 分钟前
QT的前景与互联网岗位发展
开发语言·qt
Leventure_轩先生23 分钟前
[WASAPI]从Qt MultipleMedia来看WASAPI
开发语言·qt
普密斯科技33 分钟前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
向宇it37 分钟前
【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么、主流的游戏引擎、为什么选择Unity
开发语言·unity·c#·游戏引擎
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python