使用python实现鼠标和键盘的自动化

这篇文章说明了如何使用pyautogui模块实现鼠标和键盘的自动化,由于本模块不是内建模块,所以,我们得用下面的命令进行安装:

pip install pyautogui

Python使用屏幕坐标系统跟踪和控制鼠标。假设屏幕分辨率为1920X1080,那么屏幕的坐标系统如下:

size()-获取屏幕分辨率

import pyautogui
print(pyautogui.size())

输出结果:

(1366, 768)
moveTo()-移动鼠标
import pyautogui
#鼠标指针的移动
pyautogui.moveTo(100,100,duration = 1)

上述moveTo()函数使用了三个参数,第一个100,是目的坐标的x坐标,第二个100,是目的坐标的y坐标。第三个是一个可选参数,默认是0,表示鼠标指针从当前位置移动到目的坐标的时间,单位是秒。在你的机子上运行上面这段代码,你会发现,鼠标经过1秒的时间,移动到了(100,100)的位置。

moveRel()-鼠标位置的相对移动

import pyautogui

#鼠标位置将会从当前位置向下移动50个像素

pyautogui.moveRel(0,50,duration = 1)
position()-获取鼠标当前位置
import pyautogui
print(pyautogui.position())

执行代码,屏幕会输出鼠标当前位置坐标

click()-单击和拖拽鼠标

import pyautogui
pyautogui.click(100,100)

这段代码在位置(100,100)执行一个典型的鼠标单击。

我们有两个与鼠标拖动操作相关的功能,dragTo和dragRel。它们执行类似于moveTo和moveRel函数,只是在移动时按住鼠标左键,从而启动拖动。

这个功能可以在很多地方使用,比如移动对话框,或者在MSPaint中使用铅笔工具自动绘制。用颜料画正方形:

import time
import pyautogui
time.sleep(10)
pyautogui.moveTo(1000, 700, duration = 1)
pyautogui.dragRel(-100, 0, duration = 1)
pyautogui.dragRel(0, -100, duration = 1)
pyautogui.dragRel(100, 0, duration = 1)
pyautogui.dragRel(0, 100, duration = 1)

在开始画之前,你有10秒钟的时间来打开画图软件。

scroll()—屏幕滚动

import pyautogui
pyautogui.scroll(200)

scroll()的参数为向上滚动的像素数

typewrite()-可以使用typewrite()函数自动输入字符串。只需将您想要键入的字符串作为该函数的参数传递即可。

import pyautogui
pyautogui.click(100, 100)
pyautogui.typewrite("hello world !")

传递键名:可以通过typewrite()函数分别传递键名。

import pyautogui
pyautogui.typewrite(["a", "left", "ctrlleft"])

这段代码自动等效于键入“a”,按下左箭头键,并按下左控制键。

按下组合键:使用热键()函数按ctrl-c、ctrl-a等组合键。

import pyautogui
pyautogui.hotkey("ctrlleft", "a")

这段代码自动等效于同时按下ctrl和“a”。因此,在windows中,这将导致选择屏幕上显示的所有文本。