凌的博客

您现在的位置是: 首页 > 学无止境 > python > 

python

Python直接控制鼠标键盘(1

2019-09-22 python 1611

安装

$ sudo pip install pyautogui

基本使用

screenWidth, screenHeight = pyautogui.size() # 屏幕尺寸
mouseX, mouseY = pyautogui.position() # 返回当前鼠标位置,注意坐标系统中左上方是(0, 0)

为了保持用户可以随时干预鼠标键盘的动作,比较好的方法是添加停顿,或者强制结束,否则想停了鼠标还一直在晃就会失控,下面是两种对应的设置

基本使用

pyautogui.PAUSE = 1.5 # 每个函数执行后停顿1.5秒
pyautogui.FAILSAFE = True # 鼠标移到左上角会触发FailSafeException,因此快速移动鼠标到左上角也可以停止

鼠标操作

移动

w, h = pyautogui.size()
pyautogui.moveTo(w/2, h/2) # 基本移动
pyautogui.moveTo(100, 200, duration=2) # 移动过程持续2s完成
pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500
pyautogui.moveRel(-40, 500) # 相对位置移动

拖动

# 点击+向下拖动
pyautogui.click(941, 34, button='left')
pyautogui.dragRel(0, 100, button='left', duration=5)

点击

pyautogui.click(300, 400, button='right') # 包含了move的点击,右键
pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s

滚轮

pyautogui.scroll(-10)

键盘操作

输入文字

点击对话框输入文字即可,不过中文好像不行

pyautogui.click(1279, 374)
pyautogui.typewrite('hello world!')

精确控制键盘

一下是手动输入中文的方法

pyautogui.press('shift') # 切换输入法的中英文
pyautogui.press(['#', ' ']) # press 可以对单个字符或者列表进行操作
pyautogui.press(['x', 'i', 'a', 'o'])
pyautogui.press(['y', 'u'])
pyautogui.press(['w', 'e', 'i'])
pyautogui.press(['l', 'a', 'n'])
pyautogui.press(' ')

hotKey

pyautogui.hotkey('shift', 'a') # 可以使用组合键,本质上是
'''
pyautogui.keyDown('shift')
pyautogui.keyDown('a')
pyautogui.keyUp('shift')
pyautogui.keyUp('a')
'''
代码按键
enter/return/\n回车
escESC键
shiftleft/shiftright左右SHIFT键
altleft/altright左右ALT键
ctrlleft/ctrlright左右CTRL键
tab/\tTAB键
backspace/deleteBACKSPACE/DELETE键
pageup/pagedownPAGE UP/PAGE DOWN键
home/endHOME/END
up/down/left/right上下左右键
f1/f2/...F1/F2/...
volumemute/volumedown/volumeup??
pausePAUSE键
capslock/numlock/scrolllockCAPS LOCK/NUM LOCL/SCROLL LOCK键
insertINSERT键
printscreenPRINT SCREEN键
winleft/winright左右Win键
commandMac上的command键


文章评论

0条评论