焦小花同学

Pyautogui,让所有GUI操作都变成简单的Python代码!

点击

上方文字

关注我们

今天我们聊聊一个可能会让你眼前一亮的 Python 库—— Pyautogui 。这个库的厉害之处在于,它让你可以用简单的 Python 代码,操控电脑上的鼠标、键盘,甚至截屏。听上去是不是有点黑客的感觉?不过这玩意儿其实挺实用的,特别是当你想自动化一些日常任务,比如批量处理文件、自动填写表单,或者是测试某些软件功能的时候。

1.

鼠标操作,So Easy!

我们先从鼠标的操作开始。Pyautogui 可以精确控制鼠标的移动和点击,想让鼠标去哪儿就去哪儿,完全听你指挥。    

1import pyautogui

3# 移动鼠标到屏幕坐标 (100, 100)

4pyautogui.moveTo(100, 100)

6# 鼠标点击一下

7pyautogui.click()

9# 右击

10pyautogui.rightClick()

12# 双击

13pyautogui.doubleClick()

温馨提示 :moveTo() 是绝对坐标的移动,也就是说鼠标直接跳到你指定的地方。如果你希望鼠标慢慢移动,可以加入 duration参数,比如 pyautogui.moveTo(100, 100, duration=1),这样鼠标会在 1 秒内平滑地移动到目标位置。

2.

键盘操作,键入就像打字一样

除了鼠标,Pyautogui 还能直接模拟键盘输入,甚至是组合键操作!想想有多少事情可以通过键盘搞定:输入文字、打开窗口、保存文件……这些现在都可以自动化了。    

1import pyautogui

3# 输入一段文字

4pyautogui.write('Hello, Pyautogui!')

6# 一次性按下回车

7pyautogui.press('enter')

9# 组合键 Ctrl + S

10pyautogui.hotkey('ctrl', 's')

温馨提示 :pyautogui.write() 默认的输入速度非常快,像闪电一样。要是你觉得太快,也可以通过 interval参数来调整速度,比如 pyautogui.write('Hello', interval=0.25),每个字母之间会有 0.25 秒的间隔。

3.

获取屏幕尺寸,别让鼠标跑出屏幕外

在操作鼠标之前,我们有时需要知道屏幕的尺寸,避免鼠标跑出屏幕之外。这就像开车之前得知道路有多宽。    

1import pyautogui

3# 获取屏幕的宽度和高度

4screenWidth, screenHeight = pyautogui.size()

6# 当前鼠标位置

7currentMouseX, currentMouseY = pyautogui.position()

9print(f“屏幕尺寸: {screenWidth}x{screenHeight}, 当前鼠标位置: ({currentMouseX}, {currentMouseY})”)

温馨提示 :pyautogui.size() 返回的是一个元组,分别是屏幕的宽度和高度。用这两个值可以防止移动鼠标到屏幕之外,搞得程序卡住。

4.

屏幕截图,自动化测试的好帮手

Pyautogui 还能帮你截屏!截个屏保存下来,或者直接在代码里识别某个图像的位置,这对于自动化测试简直太方便了。    

1import pyautogui

3# 截取全屏并保存到文件

4pyautogui.screenshot('screenshot.png')

6# 检测屏幕上是否出现某个图像

7location = pyautogui.locateOnScreen('button.png')

9if location:

10    print(f“找到了按钮,位置是: {location}”)

11else:

12    print(“按钮没找到”)

温馨提示 :locateOnScreen()是个很有趣的功能,它能在整个屏幕上找到你指定的图像位置。如果你传入的图片太小,可能需要把屏幕分辨率调低一点,或者确保图片清晰度足够。

5.

等待与暂停,给电脑一点喘息的时间

电脑毕竟不是咱们想象中的超人,干活也需要时间,所以有时我们需要在脚本里加一点延时,让它喘口气。Pyautogui 提供了一个简单的 sleep()功能来暂停脚本的执行。

1import pyautogui

2import time

4# 移动鼠标到 (200, 200)

5pyautogui.moveTo(200, 200)

7# 暂停 2 秒

8time.sleep(2)

10# 鼠标点击

11pyautogui.click()

温馨提示 :除了 time.sleep(),你还可以设置 pyautogui.PAUSE 这个全局变量,Pyautogui 的所有操作都会自动暂停指定的时间。比如 pyautogui.PAUSE = 0.5,每次执行操作后都会有 0.5 秒的间隔。

6.

自动化的实际应用场景

Pyautogui 的功能看上去很酷炫,但它的应用场景其实非常广泛。举几个例子:

  • 批量处理文件 :你可以让脚本替你打开文件、移动文件、重命名文件,一切都在后台静静完成。

  • 自动化游戏操作 :有些小游戏可能需要你不停点击屏幕,Pyautogui 就能帮你完成这些重复性操作。

  • 软件测试 :自动操作某些软件的界面,模拟用户的操作步骤,进行自动化测试,简直省时省力。

7.

小结

Pyautogui 是个非常好用的库,尤其是当你需要自动化一系列 GUI 操作的时候。无论是鼠标、键盘,还是屏幕截图,都可以通过几行简单的代码搞定。不过也别忘了,自动化有时会有一些潜在风险,比如误操作,所以在使用 Pyautogui 的时候一定要小心,脚本跑起来之前,确保你的代码逻辑是正确的,别让它点击到了不该点的地方。

好了,试试看用 Pyautogui 写点儿自动化的小工具吧,我猜你会很快爱上它。

别忘了点

Image

分享、

Image

收藏、

Image

在看、

Image

点赞

哦!