【Python军火库】pyautogui:成熟的鼠标和键盘自己动起来!

本文详细介绍了Python的pyautogui模块,包括安装、屏幕分辨率、GUI安全措施,以及鼠标和键盘的自动化控制。讲解了鼠标移动、点击、拖动、滚动和键盘输入、快捷键操作。此外,还探讨了屏幕图像识别,用于更精准的自动化操作。
摘要由CSDN通过智能技术生成

在这里插入图片描述


一、前提知识点

1. 安装pyautogui

不同的操作系统下安装pyautogui模块的复杂程度是不同的。

在Windows上 直接pip install pyautogui

但在OS X和Linux上安装就比较麻烦,需要先安装一些依赖库

在OS X上

  • 运行 sudo pip3 install pyobjc-framework-Quartz
  • 运行 sudo pip3 install pyobjc-core
  • 运行 sudo pip3 install pyobjc
  • 运行 pip3 install pyautogui

在Linux上

  • 运行 sudo pip3 install python3-xlib
  • 运行 sudo apt-get install scrot
  • 运行 sudo apt-get install python3-tk
  • 运行 sudo apt-get install python3-dev
  • 运行 pip3 install pyautogui

——

2. 电脑分辨率这件事

在pyautogui中,如果要想控制鼠标,那么首先得追踪到鼠标在屏幕上的位置,也就是说你必须知道在pyautogui中采取了怎样的做坐标系统,那就是我们常见的x,y坐标系。

以我的电脑是1920x1080分辨率为例
在这里插入图片描述

  • 通过整个x,y坐标系就能表示整个屏幕的每一位置
  • (0,0) 代表了屏幕最左上角,(1919,1079)代表了屏幕最右下角
  • 向右x坐标增加,向下y坐标增加
  • 所有坐标都是正整数,没有负数坐标

——

3. 做好GUI安全措施

首先要知道为啥要做好安全措施。

  1. 因为Python能够以超乎想象的速度移动和点击鼠标,速度太快以至于其他程序很可能跟不上。
  2. 如果程序本身存在问题,但是程序会依旧控制鼠标到处乱动,但是其操作并不是你所想要的。

基于以上情况普遍的发生,所以我们要提前做好一些安全措施,避免翻车。
在这里插入图片描述

安全措施一:暂停等待

pyautogui.PAUSE = 1 每个PyAutoGUI函数调用在执行动作之后,都会等待1秒;非PyAutoGUI指令不会停顿。

安全措施二:自动防故障

pyautogui.FAILSAFE = True 将鼠标移动到屏幕的左上角,这将导致pyautogui产生pyautogui.FailSafeException异常,再通过try和except语句进行处理,从而停止程序。

整体代码如下:

import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True

在这里插入图片描述

二、鼠标动起来!

首先我们来认识一些PyAutoGui函数方法,如何让鼠标自己移动、点击、拖动和滚动起来。
在这里插入图片描述
——

1. 控制鼠标移动

【01】pyautogui.size() 返回屏幕的宽和高像素数

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

程序运行结果
在这里插入图片描述
【02】pyautogui.moveTo()/.moveRel() 实现鼠标移动

import pyautogui
# pyautogui.moveTo()  绝对位置移动(移动到指定坐标)
for i in range(10):
	pyautogui.moveTo(100,100,duration=0.25)  # duration指定鼠标移到目的位置所需的秒数
	py
  • 22
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值