自动化办公

ooowl
  • python🐍
  • 自动化工具
  • python🐍
About 3 min

PyAutoGUI 的函数

介绍了许多不同函数,下面是快速的汇总参考
文档open in new window

Warning

pyautogui.FAILSAFE=False#关闭文件安全 记得引入pythoncom

速览Cheatsheet

import pyautogui
screenWidth, screenHeight = pyautogui.size() # 获取当前屏幕分辨率
currentMouseX, currentMouseY = pyautogui.position() # 获取当前鼠标位置
pyautogui.doubleClick() # 鼠标双击 
pyautogui.moveTo(x,y)# 将鼠标移动到指定的 x、y 坐标。最左上角为0,0
pyautogui.moveRel (xOffset,yOffset)# 相对于当前位置移动鼠标。
pyautogui.dragTo(x,y)# 按下左键移动鼠标。
pyautogui.dragRel(xOffset,yOffset) # 按下左键,相对于当前位置移动鼠标。
pyautogui.click(x,y,button,clicks=2, interval=0.25)# 模拟点击(默认是左键),点两次,间隔0.25s
pyautogui.rightClick() # 模拟右键点击。x=moveToX, y=moveToY
pyautogui.middleClick() # 模拟中键点击。x=moveToX, y=moveToY
pyautogui.doubleClick() # 模拟左键双击。x=moveToX, y=moveToY
pyautogui.mouseDown(x,y,button)# 模拟在 x、y 处按下指定鼠标按键。
pyautogui.mouseUp(x,y,button)# 模拟在 x、y 处释放指定键。
pyautogui.scroll (units)# 模拟滚动滚轮。正参数表示向上滚动,负参数表示向下滚动。

控制鼠标

pyautogui.PAUSE=1 # 将 pyautogui.PAUSE 设置为 1,即每次函数调用后暂停一秒。
pyautogui.FAILSAFE=True # 启动自动防故障功能。
# 移动到提供的坐标,每次移动耗时 0.25 秒,
pyautogui.moveTo(100, 100, duration=0.25)    
# 向右水平移动多少个像素,向下垂直移动多少个像素,以及(可选的)花多少时间完成移动。数值参数若为负,鼠标将向左或向上移动(反方向)
pyautogui.moveRel(100, 0, duration=0.25)
# 按住鼠标左键,把鼠标拖拽到(100, 200)位置
pyautogui.dragTo(100, 200, button='left')
# 按住鼠标左键,用2秒钟把鼠标拖拽到(300, 400)位置
pyautogui.dragTo(300, 400, 2, button='left')
# 按住鼠标右键,用2秒钟把鼠标拖拽到(30,0)位置
pyautogui.dragTo(30, 0, 2, button='right')

键盘

pyautogui.typewrite(message)# 键入给定消息字符串中的字符。 
pyautogui.typewrite([key1,key2,key3])# 键入给定键字符串。 
pyautogui.press(key)按下并释放给定键。
pyautogui.keyDown(key)模拟按下给定键。
pyautogui.keyUp(key)模拟释放给定键。
pyautogui.hotkey([key1,key2,key3])# 模拟按顺序按下给定键字符串,然后以相反的顺序释放。
pyautogui.screenshot() # 返回屏幕截图的Pillow/PIL的Image对象_对象

弹窗

pyautogui.alert('这个消息弹窗是文字+OK按钮')
pyautogui.confirm('这个消息弹窗是文字+OK+Cancel按钮')
pyautogui.prompt('这个消息弹窗是让用户输入字符串,单击OK') # 如果用户什么都不输入,返回None

|700

⚡️Danger

pyautogui并不能输入中文,他的输入只能模拟某个按键

使用pyperclip输入中文

很简单的API

pyperclip.copy("你好呀")  # 先复制
pyautogui.hotkey('ctrl', 'v')  # 再粘贴

键盘HOOK

关于HOOK 一般使用pyhook3但是pyhook并不支持python3,会出现错误,python3使用扩展库pyhook_py3k,hook不支持python3,pyhook_3k也只支持32位
真没几个好用的,用到的时候再找吧

#todo 自动化办公不急的坑

OCR

Tesseract OCR

自动化办公

python-office

python-office库 open in new window

原先办公的包

xlwt xlrd python-ppt python-docx python文件处理专题_哔哩哔哩_bilibiliopen in new window

Loading...