来源:Python实用宝典
作者:Ckend
用 Pyuserinput 进行模拟键盘鼠标操作,即便安装成功了还是存在很多问题。因此,今天我们将换一个模块进行模拟鼠标操作,那就是 Pyautogui.PyAutoGUI 和 PyUserInput 有很大的不同,在windows系统上,它并不需要win32扩展,而是采用ctypes来调用动态链接库函数的功能模块的方式,因此安装起来非常方便!
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上。
请选择以下任一种方式输入命令安装依赖:
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install pyautogui
看到 Successfully installed xxx 则说明安装成功。安装过程中如果提示缺少某些模块,pip install 缺少的模块即可。
2.基础使用
在使用上,pyautogui 与 pymouse 和 pykeyboard 差别不大,就是函数名变了。比如说移动鼠标到屏幕中央:
import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
鼠标点击:
pyautogui.click()
鼠标移动,第一个参数是移动的x轴偏移量,第二个参数是y轴偏移量,第三个参数是移动耗时:
pyautogui.moveRel(xOffset, yOffset, duration=num_seconds)
右击、中键、双击、三击任意位置:
pyautogui.rightClick(x=moveToX, y=moveToY)
pyautogui.middleClick(x=moveToX, y=moveToY)
pyautogui.doubleClick(x=moveToX, y=moveToY)
pyautogui.tripleClick(x=moveToX, y=moveToY)
当然,还有很多其他有用的函数,相关的其他函数请见pyautogui的中文文档(没错,还有中文文档,感谢译者)
https://asyncfor.com/posts/doc-pyautogui.html
3.删除微信收藏练习:
虽然你可能觉得删除的过程中你无法再用电脑做任何事情,这样的删除没有意义,但是,你可以找一个不需要用到电脑的时间来做这个操作,启动脚本后去喝杯奶茶不香吗?
首先我们要找到操作目标的x,y值,用上回我们提到的看鼠标软件(看鼠标)进行位置信息的采集:
看鼠标位置软件:
链接:https://share.weiyun.com/BlSWOrLx 密码:idhiwy
我们只需要将这系列操作连续起来自动化运行:
# Python实用宝典
# 2020/05/14
import pyautogui
import time
pyautogui.rightClick(706, 281)
time.sleep(0.5)
pyautogui.click(733, 351)
time.sleep(0.5)
pyautogui.click(768, 647)
没错,就是这么简单,演示一下:
然后我们再优化代码,让其可设定删除的条数:
# Python实用宝典
# 2020/05/14
import pyautogui
import time
DELETE = 10
delete_num = 0
while delete_num < DELETE:
pyautogui.rightClick(706, 281)
time.sleep(0.5)
pyautogui.click(733, 351)
time.sleep(0.5)
pyautogui.click(768, 647)
delete_num += 1
最终效果如下:
当然,你也可以在循环里直接 while 1 删除所有收藏哦。