PyAutoGUI主要用于模拟鼠标和键盘操作,支持Windows、macOS和Linux桌面环境。
其所有用法尽在此处:
import pyautogui import timedef moveDemo():print("鼠标位置:",pyautogui.position()) # 显示当前鼠标位置screen_width, screen_height = pyautogui.size()print(f"屏幕宽度: {screen_width}, 屏幕高度: {screen_height}")pyautogui.moveTo(100, 100, duration=1) # 移动鼠标到坐标(100, 100) duration是移动所需时间(秒)pyautogui.move(100, 0, duration=1) # 从当前位置相对移动 向右移动100像素pyautogui.moveTo(150, 150, duration=1)pyautogui.click() # 在当前位置左键单击pyautogui.write('Hello, PyAutoGUI!') #输入文字time.sleep(1) # 等待1秒pyautogui.click(x=200, y=200) # 在(200, 200)处左键单击pyautogui.rightClick(x=300, y=300) #右键点击pyautogui.doubleClick(x=400, y=400)#双击pyautogui.moveTo(100, 100, duration=1)pyautogui.dragTo(300, 300, duration=1, button='left') #从(100, 100)拖拽到(300, 300)pyautogui.drag(100, 0, duration=1, button='left') # 从当前位置相对拖拽 向右拖拽100像素pyautogui.scroll(10) #向上滚动10个单位pyautogui.scroll(-10) # 向下滚动10个单位def clickDemo():pyautogui.press('enter')#按下并释放一个键''' 支持的特殊按键名称包括enter(回车)esc(退出)tab(制表符)alt, ctrl, shift(组合键)up, down, left, right(方向键)f1到f12(功能键)'''pyautogui.hotkey('ctrl', 'c') # 复制 组合键pyautogui.hotkey('ctrl', 'v') # 粘贴 组合键#按下不释放pyautogui.keyDown('shift')pyautogui.press('4') # 输入$pyautogui.keyUp('shift')def imgDemo():# 对整个屏幕进行截图screenshot = pyautogui.screenshot()screenshot.save('我的屏幕截图.png')#对指定区域截图region_screenshot = pyautogui.screenshot(region=(50, 50, 300, 400)) # 左上角300x400的区域region_screenshot.save('区域截图.png')#查找屏幕上的图像位置position = pyautogui.locateOnScreen('区域截图.png')print(f"找到图片,位置: {position}")# 获取图像的中心点center = pyautogui.center(position)print(f"图片中心点: {center}")# 点击图像中心 pyautogui.click(center)def showdialog():#显示一个警告框pyautogui.alert(text='操作已完成', title ='提示', button ='OK')#确认框response = pyautogui.confirm(text='是否继续?', title ='确认', buttons = ['是','否','取消'])print(f"用户选择了:{response}")#密码输入框password = pyautogui.password(text='请输入密码', title ='密码', default ='', mask ='*')print(f"用户输入了:{password}")if __name__ == "__main__":#PyAutoGUI有一个安全机制,当你把鼠标快速移动到屏幕的左上角时,程序会暂停(引发异常)。这个功能是为了防止程序失控,让你有机会终止程序。可通过下面代码关闭它pyautogui.FAILSAFE = False#全局暂停设置pyautogui.PAUSE = 0.5 # 每次操作后暂停0.5秒#moveDemo()#clickDemo()#imgDemo()showdialog()