还在用鼠标进行着重复的操作?几行python代码帮你搞定!!
2018-12-06 本文已影响10人
dmzlingyin
使用python实现鼠标和键盘的自动化
这篇文章说明了如何使用pyautogui模块实现鼠标和键盘的自动化,由于本模块不是内建模块,所以,我们得用下面的命令进行安装:
pip install pyautogui
Python使用屏幕坐标系统跟踪和控制鼠标。假设屏幕分辨率为1920X1080,那么屏幕的坐标系统如下:
imagesize()-获取屏幕分辨率
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中,这将导致选择屏幕上显示的所有文本。