【python】pyautogui——编程方式控制鼠标和键盘
安装pyautogui
很多安装细节在github上pyautogui源码中,不同系统的安装区别等。
# ubuntu16.04+python3.5
sudo pip3 install python3-xlib
sudo pip3 install pymsgbox==1.0.6
sudo pip3 install pytweening==1.0.3
sudo pip3 install pyscreeze==0.1.18
sudo pip3 install pyautogui==0.9.38
使用pyautogui
import pyautogui
screenWidth, screenHeight = pyautogui.size()
# 获取屏幕画面的size
currentMouseX, currentMouseY = pyautogui.position()
# 返回当前鼠标位置
pyautogui.moveTo(100, 150, duration=1)
# 将鼠标移动到点(100, 150),duration是鼠标的移动速度,数值越大移动速度越慢
pyautogui.click()
# 单击鼠标左键,()里没有数值,则单击左键鼠标当前位置,()里有数值,则将鼠标移动到该位置,再进行单击左键
pyautogui.doubleClick()
# 操作为双击左键,其他细节与单击左键一样
pyautogui.rightClick()
# 操作为单击右键,其他细节与单击左键一样
pyautogui.moveRel(None, 10)
# 鼠标向下移动10个像素点,括号里第一个数值控制左右,第二个控制上下。正:右、下,负:左、上。同样可以用duration调节鼠标移动速度
pyautogui.typewrite('zhang chen', interval=0.25)
# 在当前光标位置键入字符创,每interval秒键入一个字符
pyautogui.press('esc')
# 键盘按键“esc”,“enter”,"up","down","left","right","f1"等
pyautogui.keyDown('shift')
# 相当于按下shift不放开
pyautogui.keyUp('shift')
# 相当于放开按下的shift
pyautogui.hotkey('ctrl', 'c')
# 热键组合,Ctrl+c
pyautogui.typewrite(['left', 'left', 'left', 'left', 'left', 'left'])
# typewrite也可以传入键名
pyautogui.alert('This is an alert box.')
# 弹出一个带“OK”按键的消息窗,点击“OK”关闭消息窗并返回“OK”
pyautogui.confirm('Shall I proceed?')
# 弹出一个带“OK”按键和“Cancel”按键的消息窗,点击“OK”关闭消息窗并返回“OK”,点击“Cancel”关闭消息窗并返回“Cancel”
pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
# 自定义按键名为“A”, “B”, “C”
pyautogui.prompt('What is your name?')
# 弹出一个带“OK”按键和“Cancel”按键的消息窗,并可以输入信息。输入信息并点击“OK”返回输入的信息内容,点击Cancel什么都不返回
pyautogui.password('Enter password (text will be hidden)')
#
# 使用pyautogui的Screenshot Functions需要先安装下面的依赖
sudo apt-get install scrot
import pyautogui
im1 = pyautogui.screenshot()
im1.save('my_screenshot.png')
# 截屏并命名为my_screenshot.png保存在当前目录下
im2 = pyautogui.screenshot('my_screenshot2.png')
# 截屏并命名为my_screenshot2.png保存在当前目录下。相当于上面两行命令的组合
其他用法详见GitHub上pyautogui源码介绍
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。