python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui

文章目录

  • 用GUI自动控制键盘和鼠标
  • pyautogui 模块
  • 鼠标
    • 屏幕位置------移动地图------pyautogui.size
    • 鼠标位置------自身定位------pyautogui.position()
    • 移动鼠标------pyautogui.moveTo
    • 拖动鼠标
    • 滚动鼠标
  • 键盘
    • 按下键盘
    • 释放键盘
  • 开始与结束
    • 通过注销关闭所有程序

用GUI自动控制键盘和鼠标

在计算机上自动化任务的终极工具,就是写程序直接控制键盘和鼠标。这些程序可以控制其他应用,向它们发送虚拟的击键和鼠标点击,就像你自己坐在计算机前与应用交互一样。

"图形用户界面自动化",或简称为"GUI 自动化"。有了 GUI 自动化,你的程序就像一个活人用户坐在计算机前一样,能做任何事情。

pyautogui 模块

pyautogui 模块可以向 Windows、OS X 和 Linux 发送虚拟按键和鼠标点击。

鼠标

图像记忆:

将操作鼠标放到"日常生活中的地图导航":

出门前:先有地图才能知道行走的范围(size大小)pyautogui.size;后有自身的位置,从家出发,就是家的地址pyatuogui.postion。

出门时:移动(move)去地图的那个点pyautogui.moveTo;

屏幕位置------移动地图------pyautogui.size

手握地图心不慌--根据横纵坐标移动

pyautogui.size() 函数返回两个整数的元组,包含屏幕的宽和高的像素数。

python 复制代码
import pyautogui
pyautogui.size()

鼠标位置------自身定位------pyautogui.position()

通过调用 pyautogui.position() 函数,可以确定鼠标当前的位置。它将返回函数调用时,鼠标 x、y 坐标的元组。在交互式环境中输入以下内容,每次调用后请移动鼠标:

python 复制代码
>>> import pyautogui
>>> pyautogui.position
<function position at 0x00000210A1DDE3E0>
>>> pyautogui.position()
Point(x=577, y=177)

移动鼠标------pyautogui.moveTo

pyautogui.moveTo() 函数将鼠标立即移动到屏幕的指定位置。表示 x、y 坐标的整数值分别构成了函数的第一个和第二个参数。可选的 duration 整数或浮点数关键字参数,指定了将鼠标移到目的位置所需的秒数。如果不指定,默认值是零,表示立即移动(在 PyAutoGUI 函数中,所有的 duration 关键字参数都是可选的)。

python 复制代码
import pyautogui
for i in range(10):
	pyautogui.moveTo(100, 100, duration=0.25)
	pyautogui.moveTo(200, 100, duration=0.25)
	pyautogui.moveTo(200, 200, duration=0.25)
	pyautogui.moveTo(100, 200, duration=0.25)
# 这个例子根据提供的坐标,以正方形的模式顺时针移动鼠标,移动了 10 次。每次移动耗时 0.25 秒,因为有关键字参数指定 duration=0.25。如果没有指定函数调用的第三个参数,鼠标就会马上从一个点移到另一个点。

拖动鼠标

滚动鼠标

键盘

按下键盘

释放键盘

开始与结束

通过注销关闭所有程序

停止失去控制的 GUI 自动化程序,最简单的方法可能是注销,这将关闭所有运行的程序。在 Windows 和 Linux 上,注销的热键是 Ctrl-Alt-Del。

相关推荐
bst@微胖子26 分钟前
Python高级语法之selenium
开发语言·python·selenium
查理零世1 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
诚信爱国敬业友善6 小时前
常见排序方法的总结归类
开发语言·python·算法
架构默片7 小时前
【JAVA工程师从0开始学AI】,第五步:Python类的“七十二变“——当Java的铠甲遇见Python的液态金属
java·开发语言·python
小哥山水之间8 小时前
在 Python 中操作 Excel 文件
开发语言·python·excel
wang_yb9 小时前
『Python底层原理』--CPython的变量实现机制
python·databook
databook9 小时前
『Python底层原理』--CPython的变量实现机制
后端·python
ww1800010 小时前
多目标鲸鱼优化算法-NSWOA-可用于(机器人轨迹跟踪控制/柔性作业车间调度/无人机三维路径规划)
开发语言·python·算法