导图社区 python自动化操作
此导图是本人总结的利用python操作鼠标以及键盘的方法总结,内容丰富全面且思路清晰,希望能对你有帮助!
编辑于2022-05-21 17:37:13python自动化
控制鼠键
鼠标
PyAutoGUI的安装
在cmd命令提示符窗口输入:pip install pyautogui
导入模块
import pyautogui
获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()
获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()
移动鼠标
绝对移动
pyautogui.moveTo(x, y, duration=持续时间)
例
pyautogui.moveTo(screenWidth/2, screenHeight/2)
备注
duration可以省略不写。
相对移动
pyautogui.moveRel(x, y, duration=持续时间)
例
pyautogui.moveRel(500, -100)
点击鼠标
单击
pyautogui.click(x, y, button='left')
备注
x、y、button可以省略不写。
双击
pyautogui.doubleClick()
或
pyautogui.click(clicks=2, interval=点击间隔)
中键点击
pyautogui.middleClick()
或
pyautogui.click(button='middle')
按压、松开
按压鼠标
pyautogui.mouseDown(button='left')
松开鼠标
pyautogui.mouseUp(button='right')
拖动鼠标
拖至指定位置
pyautogui.dragTo(x, y, button='left', duration=持续时间)
备注
duration的参数可以是 left、right、middle
拖动指定的像素格
pyautogui.dragRel(x, y, button='left', duration=持续时间)
滚动鼠标
pyautogui.scroll(y)
备注
y>0 表示向上滚动,数值几百以上才能实现滚动。
变速移动
加速移动
pyautogui.moveTo(x, y, 移动时间, pyautogui.easeInQuad)
减速移动
pyautogui.moveTo(x, y, 移动时间, pyautogui.easeOutQuad)
加速后减速
pyautogui.moveTo(x, y, 移动时间, pyautogui.easeInOutQuad)
弹跳移动
pyautogui.moveTo(x, y, 移动时间, pyautogui.easeInBounce)
大幅徘徊移动
pyautogui.moveTo(x, y, 移动时间, pyautogui.easeInElastic)
键盘
输入给定的字符串
pyautogui.write('字符串', interval=每个字符输入的时间间隔)
注意
不能直接输入中文,需用拼音输入。
键入键盘上的按钮
pyautogui.press( '键盘按键', 点击次数, 间隔时间)
或
pyautogui.press(['按键1', '按键2'])
pyautogui.typewrite(['a', 'left', 'backspace', 'enter'])
注意
只能用于单个字符键,不能按SHITF和F1这些功能键。
顺序按压,逆序松开
pyautogui.hotkey('按键1', '按键2')
备注
热键组合,('ctrl', 'a')全选、('ctrl', 'c')复制、('ctrl', 'v')粘贴
按压
pyautogui.keyDown('ctrl')
备注
ctrl等按键按压后一定要松开,否则程序结束时也会一直按压。
松开
pyautogui.keyUp('ctrl')
PyAutoGUI键盘表
'a'......'z'
26个字母
'enter' (或'return'或 '\n')
回车
'esc'
'shift'、'shiftleft'、'shiftright'
左右shift键
'alt'、'altleft'、'altright'
左右alt键
'ctrl'、'ctrlleft'、'ctrlright'
左右ctrl键
'tab'
'delete'
'pageup'、'pagedown'
'home'、'end'
'up、''down'、'left'、'right'
箭头键
'f1'......'f12'
'pause'
'insert'
'win'、'winleft'、'winright'
'printscreen'
'volumemute'、'volumedown'、'volumeup'
备注
有些键盘没有。
'capslock'、'numlock'、'scrolllock'
'command'
Mac OS X command键
解除/暂停
解除鼠标控制
import pyautogui as auto auto.FAILSAFE = True
备注
如果把鼠标光标在屏幕左上角,pyautogui函数就会产生pyautogui.FailSafeException异常。
要禁用这个功能,可以把True改成False
暂缓控制
import pyautogui as auto auto.PAUSE=2.5
作用
为所有的pyautogui函数增加延迟。(默认延迟时间是0.1秒)
应用
画圆
消息弹窗
返回按钮值
pyautogui.alert(text='', title='', button='')
返回 button 的值。
例
pyautogui.confirm(text='', title='', buttons=['按键1', '按键2'])
返回 button 的值。
例
返回输入值
pyautogui.prompt(text='', title='', default='默认输入值')
返回 default 的输入值,点击取消则返回None。
例
pyautogui.password(text='', title='', default='', mask='*')
输入框的内容会变为'*'('*'两边加空格则内容会变空白)。返回 default 的输入值,点击取消则返回None。
例
PPT中查找关键字
PPT中内容的名称
Slide
PPT中的每一页。
Shape
PPT中的每个表格、文本框。
Paragraph
表格、文本框中的每一页。
导入模块
import pptx
获取Slide
from pptx import Presentation