在Python中,我们可以使用PyAutoGUI库来自动化操作GUI。PyAutoGUI库提供了一组函数来控制鼠标和键盘,例如移动鼠标、单击、双击、右键单击、按下等。在本文中,我们将学习如何使用PyAutoGUI库来自动化操作GUI。
首先,我们需要导入PyAutoGUI库。我们可以使用import语句来导入库。
import pyautogui
然后,我们可以使用PyAutoGUI库的函数来控制鼠标和键盘。以下是一些常用的函数:
-
pyautogui.moveTo(x, y)
:将鼠标移动到指定的坐标位置。 -
pyautogui.click()
:单击鼠标左键。 -
pyautogui.doubleClick()
:双击鼠标左键。 -
pyautogui.rightClick()
:右键单击鼠标。 -
pyautogui.press(key)
:按下指定的键。 -
pyautogui.dragTo(x, y, duration=1):按绝对位置拖动鼠标并设置移动时间。
例如,以下代码将鼠标移动到屏幕的中心位置,并单击鼠标左键:
# 当分辨率为1920*1080时,中心点的坐标=(1920//2, 1080//2)
pyautogui.moveTo(1920//2, 1080//2)
# 点击中心坐标
pyautogui.click()
我们还可以使用PyAutoGUI库的函数来模拟键盘输入。以下是一些常用的函数:
-
pyautogui.typewrite(text):模拟输入文本。
-
pyautogui.hotkey(‘ctrl’, ‘c’):键盘热键可以通过将键名称列表传递给hotkey()来完成:
例如,以下代码将模拟输入文本“Python学习与大数据分析”:
# 点击输入框
pyautogui.click()
# 输入字符串内容“Python学习与大数据分析”
pyautogui.typewrite('Python学习与大数据分析')
- 下面是热键的一些操作:
pyautogui.hotkey('ctrl', 'a') # ctrl+a 全选
pyautogui.hotkey('ctrl', 'c') # ctrl+c 复制
pyautogui.hotkey('ctrl', 'v') # ctrl+v 粘贴
pyautogui还有其他图像上的操作:
-
pyautogui.screenshot(‘要另存为的文件名.png’) :返回Pillow/PIL图像对象,并将其保存到文件
-
pyautogui.locateOnScreen(‘目标.png’) :返回在当前界面找到第一个目标图片坐标值的元组 (left, top, width, height)
-
pyautogui.locateAllOnScreen(‘目标.png’) :返回在当前界面找到第一个目标图片坐标值的元组 (left, top, width, height)
比如,我现在要在屏幕中找出目标图片所在的坐标值:
import time
import pyautogui
time.sleep(5) # 停5秒,用于切换界面
local = pyautogui.locateAllOnScreen("test04.png")
for i in local:
print(i)
目标图片如下:
在下面的窗口中寻找目标图片:
查找结果如下:
来自—–python学习与大数据分析