Python实现自动操作 GUI

发布时间:2024年01月10日

目录

一、鼠标操作

1、鼠标移动

2、获取鼠标位置

3、鼠标点击

4、鼠标双击

5、鼠标按下弹起

6、鼠标拖动

7、鼠标滚动

二、屏幕处理

1、屏幕截图

2、获取屏幕分辨率

3、图像识别匹配

三、键盘输入

1、键盘按下

2、模拟输入文字

3、模拟输入特殊字符

4、模拟快捷键输入

四、提示信息

五、实例

1、实例1-实时获取鼠标坐标

2、实例2-自动点赞


????????pyautogui 是一个纯 Python 的 GUI 自动化工具,通过它可以让程序自动控制鼠标和键盘的一系列操作来达到自动化测试的目的。具体的模块安装方式就自己百度吧。。。。

一、鼠标操作

1、鼠标移动

# 移动鼠标
pyautogui.moveTo(200,400,duration=2)     # 绝对位置(200,400)移动
pyautogui.moveRel(200,500,duration=2)    # 相对位置(200,500)移动

里面的duration参数是移动的时间,单位为秒。

2、获取鼠标位置

print(pyautogui.position()) 

3、鼠标点击

# 鼠标点击,默认左键
pyautogui.click(100,100)   
# 单击左键
pyautogui.click(100,100,button='left')  
# 单击右键
pyautogui.click(100,300,button='right') 
# 单击中间 
pyautogui.click(100,300,button='middle')  

4、鼠标双击

# 双击左键
pyautogui.doubleClick(100,100)  
# 双击右键
pyautogui.rightClick(100,100)   
# 双击中键
pyautogui.middleClick(100,100) 

5、鼠标按下弹起

# 鼠标按下
pyautogui.mouseDown()   
# 鼠标释放
pyautogui.mouseUp()

6、鼠标拖动

pyautogui.dragTo(100,300,duration=1)     # 绝对位置拖动
pyautogui.dragRel(100,300,duration=1)    # 相对位置拖动

里面的duration参数是拖动的时间,单位为秒。

7、鼠标滚动

pyautogui.scroll(30000) 

二、屏幕处理

1、屏幕截图

im = pyautogui.screenshot()    # 获取整个屏幕的截图,并将其存储在变量 im 中
im.save('screenshot.png')    # 将截图保存为名为 'screenshot.png' 的图像文件
rgb = im.getpixel((100, 500))   # 获取截图中坐标为 (100, 500) 处的像素颜色,并存在变量 rgb 中
print(rgb)                      # 打印出获取的像素颜色的 RGB 值
match = pyautogui.pixelMatchesColor(500,500,(12,120,400))    # 检查屏幕上坐标 (500, 500) 处的像素颜色是否与给定的颜色值 (12, 120, 400) 匹配,并结果存在 match 中
print(match)                    # 打印出颜色匹配的结果

2、获取屏幕分辨率

# 获取屏幕分辨率
numx_y = pygui.size()
print(numx_y)

3、图像识别匹配

# 图像识别(一个)
oneLocation = pyautogui.locateOnScreen('1.png')
print(oneLocation)  

# 图像识别(多个)
allLocation = pyautogui.locateAllOnScreen('1.png')
print(list(allLocation))

三、键盘输入

1、键盘按下

pyautogui.keyDown('shift')    # 模拟按下 Shift 键
pyautogui.press('1')          # 模拟按下数字键 1
pyautogui.keyUp('shift')      # 释放 Shift 键

2、模拟输入文字

pyautogui.typewrite('python', 1)

里面的duration参数是模拟输入的速度,单位为秒。

3、模拟输入特殊字符

pyautogui.typewrite(['p','y','t','h','o','n','enter'])    # 模拟输入python后,模拟按下回车键

4、模拟快捷键输入

pyautogui.hotkey('ctrl','c')    # 模拟按下 Ctrl + C 键

四、提示信息

# 弹出选择框
way = pyautogui.confirm('该走哪条路?', buttons=['马路', '水路'])
print(way)

# 弹出警告框
alert = pyautogui.alert(text='警告!敌军来袭!', title='警告')
print(alert)

# 弹出密码框
password = pyautogui.password('输入密码')
print(password)

# 弹出普通输入框
input = pyautogui.prompt('输入指令:')
print(input)

五、实例

1、实例1-实时获取鼠标坐标

import pyautogui as pygui
import time

while True :
    print(pygui.position())    # 打印鼠标的位置
    time.sleep(0.2)            # 延时0.2s

2、实例2-自动点赞

首先需要把点赞图标保存为img.png图片??????,这里自行操作。

import pyautogui as pygui
import time

# 获取屏幕分辨率
numx_y = pygui.size()
print(numx_y)

numx = numx_y.width/2
numy = numx_y.height/2
print(numx,numy)

# 移动鼠标
pygui.moveTo(numx,numy,duration=0.2)     # 绝对位置(numx,numy)移动

# 循环检测5次
for x in range(0,5):
    
    # 图像识别(一个)
    oneLocation = pygui.locateOnScreen('img.png')
    print(oneLocation)
    
    # 判断是否识别到图标
    if(oneLocation==None):
        # 弹出警告框
        alert = pygui.alert(text='没找到自动点赞图标', title='警告')
    else:
        # 单击图标按钮
        pygui.click(oneLocation)
        # 弹出完成框
        alert = pygui.alert(text='已自动点赞,点击“OK”退出', title='成功')
        
        # 退出循环
        if(alert=='OK'):
            print("运行完成退出")
            break
        
    # 屏幕滚动
    pygui.scroll(-3000)


官方文档:Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation

文章来源:https://blog.csdn.net/qq_26043945/article/details/135502383
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。