Python实现自动操作 GUI

发布时间:2024-12-03 17:39

学习Python入门:推荐使用Jupyter Notebook进行实践操作 #生活技巧# #工作学习技巧# #编程语言学习路径#

目录

一、鼠标操作

1、鼠标移动

2、获取鼠标位置

3、鼠标点击

4、鼠标双击

5、鼠标按下弹起

6、鼠标拖动

7、鼠标滚动

二、屏幕处理

1、屏幕截图

2、获取屏幕分辨率

3、图像识别匹配

三、键盘输入

1、键盘按下

2、模拟输入文字

3、模拟输入特殊字符

4、模拟快捷键输入

四、提示信息

五、实例

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

2、实例2-自动点赞

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

以下是PyAutoGUI模块的全部功能介绍:

鼠标控制:PyAutoGUI可以模拟鼠标移动、单击、双击、右键单击、拖拽等操作,并且可以通过指定坐标来控制鼠标的移动位置。键盘控制:PyAutoGUI可以模拟键盘按键操作,包括按键、释放键、输入文本等。此外,还可以模拟组合键和快捷键的操作。屏幕操作:PyAutoGUI可以获取屏幕的大小、分辨率和颜色模式等信息,还可以进行屏幕截屏和录制。窗口控制:PyAutoGUI可以获取和操作窗口的信息,包括窗口的位置、大小、标题等。还可以模拟窗口的打开、关闭和移动等操作。菜单控制:PyAutoGUI可以模拟菜单的打开和选择操作,以及获取菜单项的文本信息。对话框控制:PyAutoGUI可以模拟对话框的打开和关闭操作,并获取对话框中的文本信息和选项。定时器控制:PyAutoGUI可以设置定时器,在指定的时间后执行特定的操作或函数。触发器函数:PyAutoGUI提供了触发器函数,可以在满足特定条件时执行特定的操作或函数。例如,可以在鼠标左键按下时执行某个操作,或者在特定时间间隔后执行某个函数。坐标定位:PyAutoGUI可以获取屏幕上的坐标位置,并使用坐标进行鼠标或键盘的操作。还可以通过坐标匹配函数来判断坐标是否符合特定条件。像素操作:PyAutoGUI可以获取屏幕上的像素值,并进行像素级别的操作。例如,可以使用像素匹配函数来判断像素的颜色是否符合特定条件。坐标变换:PyAutoGUI可以执行坐标的相对和绝对变换,以及执行相对和绝对坐标的操作。文件路径处理:PyAutoGUI可以处理文件路径,包括文件路径的拼接、分割和判断等操作。事件驱动模式:PyAutoGUI可以在事件驱动模式下运行,通过监听特定的事件来执行相应的操作或函数。例如,可以在按下特定按键时触发一个事件,并执行相应的函数。日志记录:PyAutoGUI可以记录操作的日志信息,包括鼠标和键盘的操作信息、坐标位置等。这对于调试和记录自动化脚本的运行过程非常有用。

        总的来说,PyAutoGUI的功能非常丰富,能够满足各种自动化脚本的需求。通过使用这些功能,可以编写出高效、稳定、可靠的自动化脚本,提高工作效率和生活便利性。

一、鼠标操作

1、鼠标移动

pyautogui.moveTo(200,400,duration=2)

pyautogui.moveRel(200,500,duration=2)

里面的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.save('screenshot.png')

rgb = im.getpixel((100, 500))

print(rgb)

match = pyautogui.pixelMatchesColor(500,500,(12,120,400))

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')

pyautogui.press('1')

pyautogui.keyUp('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)

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)

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

网址:Python实现自动操作 GUI https://www.yuejiaxmz.com/news/view/362503

相关内容

掌握这17个Python自动化操作,简化你的日常工作流程,提升工作效率!
Python命令行定时任务自动化工作流程
Python自动化图形显示:ANSYS教程实践
pyautogui — GUI 自动化工具,用于模拟键盘和鼠标事件。
GUI测试自动化
分享10个Python脚本,轻松让日常任务自动化
Python自动化脚本:实现工作生活的高效秘诀
Python自动化办公学习路线:提升工作效率,释放副业可能,让生活更美好!
Python怎么实现定时任务?python自动化定时方法
AppTask: 使用Python实现日常APP任务自动化

随便看看