Python控制键盘鼠标
pyautogui
pip install pyautogui
键盘鼠标控制
import pyautogui screenWidth, screenHeight = pyautogui.size() # 返回屏幕分辨率 currentMouseX, currentMouseY = pyautogui.position() # 返回鼠标的所在位置 pyautogui.moveTo(100, 150) # 移动鼠标到指定位置 pyautogui.click() # 单击 pyautogui.click(200, 220) # 单击指定位置 pyautogui.move(None, 10) # 移动鼠标10个像素 pyautogui.doubleClick() # 双击鼠标 pyautogui.write('Hello world!', interval=0.25) # 输入字符串,每个字符停留时间0.25秒 pyautogui.press('esc') # 退出键 pyautogui.keyDown('shift') # Shitf键盘 pyautogui.hotkey('ctrl', 'c') # 组合键
拖动效果的例子:
pyautogui.moveTo(50,200,duration=2) pyautogui.click() for i in range(5): pyautogui.dragRel(50,0,duration=2) pyautogui.dragRel(0,50,duration=2)
除了可以控制鼠标键盘外,还可以调用系统弹窗。 通过窗口消息盒子可以实现一些简单的人机交互,比如某些地方需要人工输入内容时, 这样可以接受用户的指令。
import pyautogui pyautogui.alert('This is an alert box.') # 'OK' pyautogui.confirm('Shall I proceed?') # 'Cancel' pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C']) # 'B' pyautogui.prompt('What is your name?') # 'Al' pyautogui.password('Enter password (text will be hidden)') # 'swordfish'
还可以截屏。截图是使用的Pillow模块实现的, 截图的用处在于通过图片识别技术识别图片内容, 然后通过内容精准定位到某个元素的位置,实现精准点击。
import pyautogui im1 = pyautogui.screenshot() im1.save('my_screenshot.png') im2 = pyautogui.screenshot('my_screenshot2.png')