用GUI自动控制键盘和鼠标

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

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

pyautogui 模块

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

在这里插入图片描述

鼠标——记忆宫殿

文字记忆:
pyautogui 模块:py是python的缩写,auto自动的意思,gui界面,整体记忆:python中实现自动界面操作的模块。最后,谁的界面很重要,是电脑的,那么操作电脑的就是鼠标和键盘。

图像记忆:
将操作鼠标放到“日常生活中的地图导航”:
出门前:先有地图才能知道行走的范围(size大小)pyautogui.size;后有自身的位置,从家出发,就是家的地址pyatuogui.postion。
出门时:移动(move)去地图的那个点pyautogui.moveTo;

屏幕位置——地图——pyautogui.size

手握地图心不慌–根据横纵坐标移动
pyautogui.size() 函数返回两个整数的元组,包含屏幕的宽和高的像素数。

在这里插入图片描述

import pyautogui
pyautogui.size()

在这里插入图片描述

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

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

>>> import pyautogui
>>> pyautogui.position
<function position at 0x00000210A1DDE3E0>
>>> pyautogui.position()
Point(x=577, y=177)

在这里插入图片描述

移动鼠标——移动身形——pyautogui.moveTo

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

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。如果没有指定函数调用的第三个参数,鼠标就会马上从一个点移到另一个点。

在这里插入图片描述

拖动鼠标——拖动移动——drag

滚动鼠标——滚动移动——scroll

提供一个整型参数,说明向上或向下滚动多少单位。单位的意义在每个操作系统和应用上不一样,所以你必试验,看看在你的情况下滚动多远。滚动发生在鼠标的当前位置。传递正整数表示向上滚动,传递负整数表示向下滚动。将鼠标停留在 IDLE 窗口上,在 IDLE 的交互式环境中运行以下代码:

pyautogui.scroll(200)

开始与结束

通过注销关闭所有程序

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐