Pyautogui超简单的自动化编程(超详细)

PyAutoGUI 是一个功能强大的 Python 库,它允许用户通过编写脚本来控制鼠标和键盘,实现自动化操作。无论是自动化测试、数据录入还是演示自动化,PyAutoGUI 提供了一系列的工具和方法,使得自动化任务变得简单易行。本文将详细介绍 PyAutoGUI 的功能和使用方式,以及如何利用它来提高工作效率。

接下来我们开始实操!!

系统:Windows

Language:python

首先先安装pyautogui这个库,可以打开powershell输入:

pip install pyautogui

然后检查库是否安装好,可以输入一下代码进行试验:

import pyautogui

a = pyautogui.size()
print(a)

正常情况下会输出你的当前屏幕的分辨率:

Size(width=2560, height=1600)

如果并无报错那就可以开始正式了解了;

鼠标控制

moveTo()

我们想要控制鼠标到指定的位置,可以使用一个方法:

pyautogui.moveTo(x: , y: , duration: )

而这里的x, y 自然就是你的横坐标和纵坐标,duration则是你要它花多少时间移动到这里

比如:

pyautogui.moveTo(1442, 800, 10 )

就是移动到1442,800这个像素点位置,并且用时十秒钟

那如何知道自己要移动的位置在那个像素点呢?

我们可以用一个很简单的方法,那就是截图!!需要将整个屏幕都截图下来

然后使用windows自带的画图工具打开

接着我们将鼠标放在打开图片的任意位置,“画图”的左下角就会有像素坐标显示

我们就可以通过这个方法来知道像素点位于何处啦!

然后我们继续介绍有关鼠标操作的方法

moveRel()

这个就是相对鼠标当前位置的移动:

pyautogui.moveRel(xOffset: , yOffset: , duration:)

我们先用position获取一下鼠标当前的位置:

x, y = pyautogui.position()
print(x, y)

这样就可以获取到鼠标的当前位置了,比如当前位置是(1966, 47)

这个时候使用moveRel():

pyautogui.moveRel(100, 100, 5)

也就意味着,之前的位置(1966, 47)个加了一百,也就是相对之前移动了

经过计算,相当于对之前的像素位置进行了向右下141.42距离的移动

click()

接下来我们要实现模拟鼠标点击的行为:

我们可以先设置好自己的鼠标想移动的位置:

pyautogui.moveTo(1414, 1570, 2)

然后就开始用click()的方法点击:

pyautogui.click()

鼠标就会自动点击那个点,我们也可以通过给click()传参的方式实现:

pyautogui.click(1414, 1570, button='left', duration=0.5)

button是控制鼠标左键(left)还是右键(right)以及中间的滚轮(middle)进行点击

接下来我们用另一种当时模拟点击:

pyautogui.mouseDown(1700, 1557) # 按下鼠标
pyautogui.mouseUp(1686, 1494) # 释放鼠标

双击鼠标

然后来了解双击;

使用doubleClick()方法来实现:

pyautuogui.doubleClick(1400, 1557)

这样就可以完成鼠标的连续点击了,还有控制右键和中键:

# 分别双击鼠标右键和鼠标中键
pyautogui.rightClick(1686, 1494), pyautogui.middleClick(1686, 1494)

下一步来介绍鼠标的拖动。

鼠标拖动

dragTo()方法

pyautogui.dragTo(1640, 1557, duration=2)

这样就可以完成拖动功能了,除了dragTo()还有dragRel()和move一样,以此类推。

滚动

scroll()方法

pyautogui.scroll(800)

这个方法可以将模拟鼠标中键进行滚动,正数向上,负数向下

比如我在这个页面

运行

pyautogui.scroll(5000)

就可以直接回到页首

OK!!鼠标的模拟就完成了,接下来是键盘

键盘控制

首先是keyDown(),keyUp()方法,学过trule的人应该能反应过来

跟turtle的pen很相似

先实在来帮助大家理解,模拟一个ctrl+c复制

pyautogui.keyDown('ctrl')
pyautogui.keyDown("c")
pyautogui.keyUp("c")
pyautogui.keyUp('ctrl')

keyDown()是按下,那keyUp()就是拿起

当时如果都这样写的话就很麻烦,所以pyautogui又提供了一个不一样的方法

热键:

hotkey()

我们可以直接在里面输入两个键,然后同时执行:

pyautogui.hotkey('ctrl', 'c')

这样就可以直接完成热键的模拟了

那如果我想在页面上输入文字怎么办,那我们就要用到一个新方法了。

typewrite()

比如我们要使用pyautogui在浏览器里输入一些瑟瑟的网址(。◕‿◕。)

pyautogui.typewrite('http://*****.***/***/*/****', interval=0.1)

里面的第一个参数是message,也就是你要输入的内容

而interval,则是你输入每个字符的时间间隔,相当于每隔0.1秒就输入这个网址的一部分

press()

如果只是需要简单的完成普通的按键行为,以及一些特殊的按键比如enter,可以使用press()

简单且高效

pyautogui.press('enter', interval=0.1)

就可以实现啦,第一个是需要按下的按键,第二个是间隔的时间

OK!本章就到此结束了

任务

在此也就留下一个小任务,那就是:

用pyautogui库在浏览器了输入自己珍藏的瑟瑟网址并进入吧✧(≖ ◡ ≖✿)

使用了pyautogui都不需要手动输入了呢 ✧(≖ ◡ ≖✿)

----------

本章到此结束

希望能帮助到你!!(♡˙︶˙♡) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值