python自动脚本的pyautogui入门学习


Posted in Python onApril 01, 2020

本文介绍了pyautogui入门学习,分享给大家,也给自己留个笔记

安装

pip install pyautogui

学习使用

加载模块

import pyautogui

获取信息类

电脑屏幕的左上角是位置(0,0),向右X坐标增加,向下Y坐标增加

# 获取屏幕尺寸
screenWidth, screenHeight = pyautogui.size()

# 获取鼠标当前位置
currentMouseX, currentMouseY = pyautogui.position()

进行操作类

鼠标

# 鼠标移动到屏幕中心
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
# 将鼠标移动到固定位置
pyautogui.moveTo(100, 100)
# 用“1秒”的时间移动到固定位置
pyautogui.moveTo(100, 100, duration=1)
# 将鼠标移动到相对当前“下方100”的位置
pyautogui.moveRel(0, 100) 


# 鼠标左键拖拽到屏幕“100,200”的位置
pyautogui.dragTo(100, 200, button='left') 
# 鼠标左键用“2秒”拖拽到屏幕“300,400”的位置
pyautogui.dragTo(300, 400, 2, button='left') 
# 鼠标左键用“2秒”拖拽到相对当前“右边30”的位置
pyautogui.dragRel(30, 0, 2, button='left')
### button属性可以有:left\middle\right


# 鼠标左键单击
pyautogui.click()
# 鼠标左键单击“100,200”位置
pyautogui.click(x=100, y=200)
# 鼠标左键双击
pyautogui.doubleClick()
# 鼠标左键三击
pyautogui.tripleClick()
# 鼠标右键单击
pyautogui.click(button='right')
# 鼠标右键单击
pyautogui.rightClick()
# 鼠标右键间隔0.25秒单击3次
pyautogui.click(button='right', clicks=3, interval=0.25)


# 鼠标左键放下
pyautogui.mouseDown()
# 鼠标左键抬起
pyautogui.mouseUp()


# 鼠标滚轮上滚10
pyautogui.scroll(10)
# 鼠标滚轮下滚10
pyautogui.scroll(-10)

键盘

# 输入一个字符串
pyautogui.typewrite('Hello world!')
# 每个字母间隔0.25秒输入一个字符串
pyautogui.typewrite('Hello world!', interval=0.25) 
# 键入 "a", 然后敲击左方向键, 再键入 "b".
pyautogui.typewrite(['a','left','b'])


# 按键
pyautogui.press('esc')
# 连续按键
pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left'])


# 键盘按下
pyautogui.keyDown('shift')
# 键盘释放
pyautogui.keyUp('shift')

# 热键按住ctrl的同时按下c
pyautogui.hotkey('ctrl', 'c')

支持的按键有:

['\t', ‘\n', ‘\r', ' ‘, ‘!', ‘"', ‘#', ‘$', ‘%', ‘&', "'", ‘(',
‘)', ‘*', ‘+', ‘,', ‘-', ‘.', ‘/', ‘0', ‘1', ‘2', ‘3', ‘4', ‘5', ‘6', ‘7',
‘8', ‘9', ‘:', ‘;', ‘<', ‘=', ‘>', ‘?', ‘@', ‘[', ‘\', ‘]', ‘^', ‘_', ‘`',
‘a', ‘b', ‘c', ‘d', ‘e',‘f', ‘g', ‘h', ‘i', ‘j', ‘k', ‘l', ‘m', ‘n', ‘o',
‘p', ‘q', ‘r', ‘s', ‘t', ‘u', ‘v', ‘w', ‘x', ‘y', ‘z', ‘{', ‘|', ‘}', ‘~',
‘accept', ‘add', ‘alt', ‘altleft', ‘altright', ‘apps', ‘backspace',
‘browserback', ‘browserfavorites', ‘browserforward', ‘browserhome',
‘browserrefresh', ‘browsersearch', ‘browserstop', ‘capslock', ‘clear',
‘convert', ‘ctrl', ‘ctrlleft', ‘ctrlright', ‘decimal', ‘del', ‘delete',
‘divide', ‘down', ‘end', ‘enter', ‘esc', ‘escape', ‘execute', ‘f1', ‘f10',
‘f11', ‘f12', ‘f13', ‘f14', ‘f15', ‘f16', ‘f17', ‘f18', ‘f19', ‘f2', ‘f20',
‘f21', ‘f22', ‘f23', ‘f24', ‘f3', ‘f4', ‘f5', ‘f6', ‘f7', ‘f8', ‘f9',
‘final', ‘fn', ‘hanguel', ‘hangul', ‘hanja', ‘help', ‘home', ‘insert', ‘junja',
‘kana', ‘kanji', ‘launchapp1', ‘launchapp2', ‘launchmail',
‘launchmediaselect', ‘left', ‘modechange', ‘multiply', ‘nexttrack',
‘nonconvert', ‘num0', ‘num1', ‘num2', ‘num3', ‘num4', ‘num5', ‘num6',
‘num7', ‘num8', ‘num9', ‘numlock', ‘pagedown', ‘pageup', ‘pause', ‘pgdn',
‘pgup', ‘playpause', ‘prevtrack', ‘print', ‘printscreen', ‘prntscrn',
‘prtsc', ‘prtscr', ‘return', ‘right', ‘scrolllock', ‘select', ‘separator',
‘shift', ‘shiftleft', ‘shiftright', ‘sleep', ‘space', ‘stop', ‘subtract', ‘tab',
‘up', ‘volumedown', ‘volumemute', ‘volumeup', ‘win', ‘winleft', ‘winright', ‘yen',
‘command', ‘option', ‘optionleft', ‘optionright']

消息盒子

python自动脚本的pyautogui入门学习

pyautogui.alert(text='你好吗', title='问候', button='我很好')

返回button值

python自动脚本的pyautogui入门学习

pyautogui.confirm(text='你好吗', title='问候', buttons=['我很好', '我不好', '不告诉你'])

返回输入值

python自动脚本的pyautogui入门学习

pyautogui.prompt(text='你好吗', title='问候' , default='')

将输入值用*号隐藏,返回输入值

python自动脚本的pyautogui入门学习

pyautogui.password(text='', title='', default='', mask='*')

截图功能

首先需要安装Pillow模块

im1 = pyautogui.screenshot()
# 截图整个屏幕并命名保存到本地
im2 = pyautogui.screenshot('my_screenshot.png')
# 截图区域“左侧,顶部,宽度和高度”
im = pyautogui.screenshot(region=(0, 0, 300, 400))


# 返回值(left, top, width, height)
button7location = pyautogui.locateOnScreen('calc7key.png')

实战练习

1、计算机自动计算

打开电脑自带的计算器
利用截图工具截取4张图,并依次命名
将python程序和计算器一同打开在桌面上
运行python程序

# 自动计算器输入
import pyautogui

x = [0]*4
x[0] = pyautogui.locateCenterOnScreen('7.png')
x[1] = pyautogui.locateCenterOnScreen('+.png')
x[2] = pyautogui.locateCenterOnScreen('5.png')
x[3] = pyautogui.locateCenterOnScreen('=.png')
for i in range(4):
  pyautogui.click(x[i])

python自动脚本的pyautogui入门学习

2、自动画图

# 自动画图
import pyautogui
import time

time.sleep(5)

distance = 200
while distance > 0:
  pyautogui.dragRel(distance, 0, duration=0.5) # move right
  distance -= 5
  pyautogui.dragRel(0, distance, duration=0.5) # move down
  pyautogui.dragRel(-distance, 0, duration=0.5) # move left
  distance -= 5
  pyautogui.dragRel(0, -distance, duration=0.5) # move up

python自动脚本的pyautogui入门学习

参见官网:https://pyautogui.readthedocs.io/en/latest/index.html

到此这篇关于python自动脚本的pyautogui入门学习的文章就介绍到这了,更多相关pyautogui入门 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现PS滤镜功能之波浪特效示例
Jan 26 Python
python3.6使用pymysql连接Mysql数据库
May 25 Python
python 读取文件并把矩阵转成numpy的两种方法
Feb 12 Python
linux查找当前python解释器的位置方法
Feb 20 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
May 10 Python
Python 中Django安装和使用教程详解
Jul 03 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
python实例化对象的具体方法
Jun 17 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 #Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 #Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
Apr 01 #Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 #Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 #Python
详解Python中pyautogui库的最全使用方法
Apr 01 #Python
django的模型类管理器——数据库操作的封装详解
Apr 01 #Python
You might like
PHP的FTP学习(四)
2006/10/09 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
linux iconv方法的使用
2011/10/01 PHP
php获取淘宝分类id示例
2014/01/16 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
基于javascript实现图片滑动效果
2016/05/07 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python从零开始创建区块链
2018/03/06 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
印尼旅游网站:via
2017/11/12 全球购物
水污染治理专业毕业生推荐信
2013/11/14 职场文书
女大学生自我鉴定
2013/12/09 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
承诺书怎么写
2014/03/26 职场文书
捐书倡议书
2014/08/29 职场文书
合作协议书范本
2014/10/25 职场文书
销售助理岗位职责
2015/02/11 职场文书
APP界面设计技巧和注意事项
2022/04/29 杂记
Java 定时任务技术趋势简介
2022/05/04 Java/Android