作为当下的程序猿,未来的攻城狮,怎么能忍受超过三次的重复工作!(这里指打游戏每天刷图)
于是乎,我毅然决定,要用 python 写一个自动化脚本解放我的双手!(然后去刷知乎和哔站)
冷知识:图形用户界面(
Graphical User Interface
,简称 GUI,又称图形用户接口)
网上找了一圈,没看到特别完整的文档资料,所以建议直接看官方文档。
本文先进行简单介绍,后面会进行详解。
官方文档:https://pyautogui.readthedocs.io/en/latest/
git 源码地址:https://github.com/asweigart/pyautogui
快速入门参考哔站视频:【Python】PyAutoGUI - 注意了,该写个游戏辅助了!
拟人的自动化操作工具,可以控制键盘和鼠标,快速摆脱重复劳动,实现幸福人生。
PyAutoGUI 有几个功能:
安装:
pip install PyAutoGUI
import pyautogui
# 屏幕大小 Size(width=1920, height=1080) 显然这是屏幕分辨率
size = pyautogui.size()
print(size)
# 鼠标位置
mouse_pos = pyautogui.position()
print(mouse_pos)
# 判断点是否则屏幕内
print(pyautogui.onScreen(100, 100))
import pyautogui
size = pyautogui.size()
# 把鼠标移动到(10,10)的位置,周期1秒 绝对移动
pyautogui.moveTo(10,10, duration=1)
# 把鼠标移动到画面中央,周期0.5秒
pyautogui.moveTo(size.width / 2, size.height / 2, duration=0.5)
# 鼠标相对最近的点移动,周期1秒
pyautogui.moveRel(100,100 , duration=1)
import pyautogui
# 上一次的位置
last_pos = pyautogui.position()
try:
while True:
# 新位置
new_pos = pyautogui.position()
if last_pos != new_pos:
print(new_pos)
last_pos = new_pos
except KeyboardInterrupt:
print('\nExit.')
import pyautogui
import time
# 系统准备时间 用于切换页面
time.sleep(0.5)
# 取得帮助菜单位置
help_pos = pyautogui.locateOnScreen('btn_help.png')
print(help_pos)
goto_pos = pyautogui.center(help_pos)
# 移动鼠标
pyautogui.moveTo(goto_pos, duration=0.5)
# 点击
pyautogui.click()
# 再移动鼠标
pyautogui.moveRel(0, 600, duration=0.5)
# 再点击
pyautogui.click()
import pyautogui
import time
# 系统准备时间
time.sleep(2)
# 点击一次鼠标停留位置
pyautogui.click(button="left")
# 输入【I like Python.】
pyautogui.typewrite('I like Python.')
# 输入回车,然后继续输入内容
pyautogui.typewrite('\nI like Python too.', 0.25)
# 输入【good】,然后将头文字改为大写G,最后在行尾写个句号
pyautogui.typewrite(['enter', 'g', 'o', 'o', 'd', 'left', 'left',
'left', 'backspace', 'G', 'end', '.'], 0.25)
import pyautogui
import time
time.sleep(2)
# 每个动作间隔0.5秒钟
pyautogui.PAUSE = 0.5
# 打入三行内容
pyautogui.typewrite('\nhello')
pyautogui.typewrite('\nhello')
pyautogui.typewrite('\nhello')
# 按下Ctrl键
pyautogui.keyDown('ctrl')
# 按下a键,拷贝
pyautogui.press('a')
# 按下c键,复制
pyautogui.press('c')
# 松开Ctrl键
pyautogui.keyUp('ctrl')
# 鼠标点击记事本下方
pyautogui.click(800, 800)
# 输入两个空行
pyautogui.typewrite('\n\n')
# 粘贴
pyautogui.hotkey('ctrl', 'v')
PyAutoGUI - 拟人的自动化操作工具