使用Python模拟鼠标操作

来源: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模拟鼠标操作_第1张图片

我们只需要将这系列操作连续起来自动化运行:

# 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模拟鼠标操作_第2张图片

然后我们再优化代码,让其可设定删除的条数:

# 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

最终效果如下:

使用Python模拟鼠标操作_第3张图片

当然,你也可以在循环里直接 while 1 删除所有收藏哦。

你可能感兴趣的:(python)