Skip to content

前言

pyautogui库是一个强大的Python模块,用于自动化GUI任务,它的主要优点在于跨平台性、功能丰富和易于使用,而缺点则包括安全性问题和对可视化环境的依赖。

优点方面

  1. 跨平台性:pyautogui是跨平台的,可以在Windows、macOS和Linux等多种操作系统上运行。这意味着开发者可以编写一套自动化脚本,在不同平台上执行,提高了代码的复用性。
  2. 功能丰富:pyautogui提供了丰富的功能,包括鼠标操作、键盘输入、屏幕处理等。这些功能使得它能够完成复杂的自动化任务,如自动填写表单、自动化测试等。
  3. 易于使用:pyautogui的API设计直观易懂,对于初学者来说,上手相对容易。它允许开发者通过简单的函数调用来模拟鼠标和键盘操作,无需深入了解底层的图形用户界面(GUI)编程。

缺点方面

  1. 安全性问题:由于pyautogui会接管鼠标和键盘的控制权,不当的使用可能会导致意外的操作,比如不小心关闭重要程序或者触发系统命令。因此,使用时需要格外小心,确保脚本的正确性和稳定性。
  2. 对可视化环境的依赖:pyautogui的操作依赖于屏幕上的元素位置,如果屏幕分辨率或布局发生变化,可能会导致脚本失效。这要求开发者在编写脚本时考虑到各种可能的屏幕情况,增加了脚本的复杂性。

安装

pip install pyautogui

快速入门

  1. 导入pyautogui库
import pyautogui

2.模拟鼠标移动

pyautogui.moveTo(100, 100)

以上代码会把鼠标移动到(100,100)像素位置,位置从电脑左上角开始计算

3.模拟鼠标点击

# 模拟鼠标左键点击pyautogui.click()
# 模拟鼠标右键点击pyautogui.click(button='right')

4.模拟鼠标拖拽

pyautogui.dragTo(500, 500

5.模拟键盘输入

pyautogui.write('Hello, World!')

图片s

6.模拟键盘按键

pyautogui.press('enter')

图片s

常用函数

  1. 获取鼠标位置

    pyautogui.position()函数可以获取鼠标当前的位置

x, y = pyautogui.position()print(x,y)

图片s

2.获取屏幕尺寸

pyautogui.size()函数可以获取屏幕的尺寸

width, height = pyautogui.size()print(width,height)

图片s

3.找到图像位置

pyautogui.locateOnScreen()函数可以在屏幕上找到指定图像的位置

image_position = pyautogui.locateOnScreen(r"C:\Users\86136\Pictures\SSH.png")print(image_position)

图片s

4.截图屏幕

pyautogui.screenshot()函数可以截取这个屏幕

# 截取整个屏幕的图像screenshot = pyautogui.screenshot()screenshot.save('screenshot.png')

图片s

5.截图指定区域图片

# 截取指定区域的图像region = (0, 0, 300, 300)screenshot = pyautogui.screenshot(region=region)screenshot.save('screenshot_region.png')

图片s

注意事项

1.避免在脚本执行期间手动移动鼠标或进行键盘输入,因为这可能会干扰脚本的执行并可能导致不可预测的行为。

2.pyautogui的坐标是基于屏幕分辨率计算的,因此确保屏幕分辨率的稳定性也是非常重要的。如果分辨率发生变化,可能会导致脚本中的坐标不再准确,从而影响脚本的功能。

3.使用****pyautogui提供的安全功能。例如,可以设置pyautogui.FAILSAFEFalse,这样当鼠标指针移动到屏幕的最左上角时,程序不会自动报错,从而允许你有机会停止脚本的执行。此外,还可以设置pyautogui.PAUSE为1秒,这样所有的pyautogui指令都会暂停一秒,给你时间在必要时介入。