PyautoGui
1 import time 2 import pyautogui 3 4 # Size(width=2560, height=1600) 获取屏幕像素 5 pyautogui.size() 6 7 # Point(x=1595, y=907) 获取当前鼠标坐标,返回x,y轴 8 x, y = pyautogui.position() 9 print(x, y) 10 11 # 查看该像素点是否在屏幕内,返回True/False;最多为屏幕项目-1,比如屏幕最大像素为2560 * 1060,最大=2559,1059 12 pyautogui.onScreen(800, 600) 13 14 # 将鼠标移动到500,500,绝对坐标从0,0开始计算 15 pyautogui.moveTo(500, 500) 16 17 # duration=2 持续时间为2秒,不带duration参数时默认为0.25秒 18 pyautogui.moveTo(600, 910, duration=2) 19 20 time.sleep(3) 21 22 # 鼠标向右移动700,向下移动200,从相对位置开始(当前鼠标位置);上移为用负数表示 23 pyautogui.move(700, 80) 24 25 # 鼠标按住左键拖动到像素1,1的位置(绝对坐标),持续时间为2秒,duration不带时,默认不填为0.25秒。left/right均可 26 pyautogui.dragTo(109, 300, button='left', duration=2) 27 28 time.sleep(3) 29 30 # 鼠标按住左键拖动,从当前位置向右移动900,向上200(相对坐标),移动时间为3秒,duration不带时,默认不填为0.25秒。left/right均可 31 pyautogui.drag(900, -200, button='left') 32 33 # 模拟鼠标点击 34 pyautogui.click() # 单击鼠标左键一次 35 pyautogui.click(100, 200) # 在绝对坐标100,200单击鼠标 36 pyautogui.click(button='left') # 单击鼠标左键一次 37 pyautogui.click(click2=2) # 鼠标左键点击2次 38 pyautogui.click(clicks=2, intervl=0.25) # 鼠标左键点击2次,每次间隔0.25s 39 pyautogui.click(button='right', clicks=3, interval=0.25) # 右键点3次,每次间隔0.25s 40 pyautogui.doubleClick() # 双击 41 pyautogui.tripleClick() # 三击 42 43 # 举例:获取当前鼠标的x,y轴,然后右键双击,间隔0.25s,持续时间为3s 44 x, y = pyautogui.position() 45 print(x, y) 46 pyautogui.doubleClick(x, y, button='left', interval=0.25, duration=3) 47 48 # 鼠标的按压和释放 49 pyautogui.mouseDown(button='left') 50 pyautogui.mouseUp(button='left', x=100, y=100) 51 52 # 鼠标滚动 53 pyautogui.scroll(1000) 54 time.sleep(3) 55 pyautogui.scroll(-1000) 56 time.sleep(3) 57 pyautogui.scroll(1000, x=100, y=100) 58 time.sleep(3) 59 60 # 控制键盘 61 pyautogui.write("hello world!") 62 pyautogui.write("hello world!", interval=0.25) # 输入每个字符,间隔0.25s 63 pyautogui.press("enter") 64 pyautogui.press("left") 65 pyautogui.press("up") 66 pyautogui.press("f1") 67 pyautogui.press(['x', 'y', 'z']) # 依次按下x y z 68 pyautogui.hotkey('ctrl', 'alt', 'shift') # 依次按住ctrl alt shift 键不放,最后先放开shift再alt最后ctrl 69 pyautogui.keyDown('ctrl') # 按住ctrl不放 70 pyautogui.keyDown('c') # 按住v不放 71 pyautogui.keyUp('ctrl') # 释放ctrl 72 pyautogui.keyUp('v') # 释放v 73 74 # 举例: 75 x, y = pyautogui.position() # 获取当前鼠标xy轴 76 pyautogui.click(x, y, button='left') # 在xy轴上单击左键一次 77 pyautogui.hotkey('ctrl', 'c') # 按下ctrl+c 78 pyautogui.hotkey('ctrl', 'v') # 按下ctrl+v 79 80 # 截屏 81 pyautogui.screenshot('img.png') # 全屏截图,不写具体路径,默认保存到当前py文件下 82 pyautogui.screenshot(region=(0, 0, 300, 400)).save('img.png') # 也可以如下: 83 im = pyautogui.screenshot(region=(0, 0, 300, 400)) 84 im.save('img.png') 85 86 # 灰度匹配和像素匹配 87 im = pyautogui.screenshot() # 截取屏幕 88 89 # 获取坐标100,200对象的像素点,rgb值返回值为:元组(60, 63, 65),取值与列表一致,如tup[0] = 60 90 tup = im.getpixel((100, 200)) 91 92 # 对比坐标100,200的像素的rgb是不是(60, 63, 65),返回True/False,参数tolerance=10,表示如果rgb的误差值在10之内,返回True 93 result1 = pyautogui.pixelMatchesColor(100, 200, (60, 63, 65)) 94 result2 = pyautogui.pixelMatchesColor(100, 200, (60, 69, 65), tolerance=10) 95 print(result1) # True 96 print(result2) # True
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)