当前位置:首页 » 《随便一记》 » 正文

Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘

18 人参与  2023年04月08日 08:24  分类 : 《随便一记》  评论

点击全文阅读


Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘

文章目录

Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘1️⃣简介2️⃣鼠标控制与移动3️⃣键盘控制与输入4️⃣结语?

1️⃣简介

???学会控制鼠标和键盘是实现自动化的捷径!???

pynput是第三方库,所以在使用pynput之前需要下载pynput包。

下载方式1:在终端输入pip install pynput下载包下载方式2:进入pypi官网:https://pypi.org➡️搜索pynput➡️选择版本➡️点击pip install pynput 下载方式3:点击底部Python ackages➡️搜索pynput➡️点击Install

请添加图片描述




2️⃣鼠标控制与移动

⭐第一步:为了控制和模拟鼠标移动,所以需要从pynput中导入mouse模块。

from pynput import mouse # 导入mouse模块

⭐第二步:使用Controller()方法。

m = mouse.Controller()            # 创建一个鼠标

⭐第三步:移动鼠标在屏幕上的位置。

屏幕坐标以(0,0)为基准点位于屏幕的左上角,往右移动x轴坐标增加,往左移动x轴坐标减小。往下移动y轴坐标增加,往上移动y轴坐标减小。

可以使用print()打印鼠标的位置。

请添加图片描述
1.?绝对位置:

m.position = (800,600)           # 将鼠标移动到指定位置print(f'鼠标位置为:{m.position}') # 打印鼠标位置

2.?相对位置:

m.move(100,100)# 以(0,0)或上一个position的位置为准print(f'鼠标位置为:{m.position}') #打印鼠标位置

第四步:模拟鼠标按键:

?单击左键:

?方式一:

m.press(mouse.Button.left)          # 按下鼠标左键(单击)m.release(mouse.Button.left)        # 松开鼠标左键

?补:使用press+position+release可实现拖拽功能

?注意:使用press按下后,必须要使用release松开。否则相对于现实中操作鼠标一直按下左键不松手

?方式二:

m.click(mouse.Button.left, 1)         # 单击鼠标左键

? 区别:直接完成了一次点击松手操作。

?单击右键:

?方式一:

m.press(mouse.Button.right)          # 按下鼠标右键(单击)m.release(mouse.Button.right)        # 松开鼠标右键

?方式二:

m.click(mouse.Button.right, 1)         # 单击鼠标右键
?双击:
m.click(mouse.Button.left, 2)         # 双击(左键)
?鼠标滚轮:

类似于上述将的position,x轴坐标增加往右移动,x轴坐标减小往左移动。y轴坐标增加往下移动,y轴坐标减小往上移动。

x轴使用较少,绝大部分页面不会出现左右滚动条。

m.scroll(0,2)                       # 向下移动

?完整代码⬇️:

from pynput import mouse         # 导入mouse模块m = mouse.Controller()           # 创建一个鼠标m.position = (800,600)           # 将鼠标移动到指定位置print(f'鼠标位置为:{m.position}')    # 打印鼠标位置m.move(100,100)                     # 相对于(800,600)在移动(100,100)print(f'鼠标位置为:{m.position}')    # 打印鼠标位置# 方式一# m.press(mouse.Button.left)          # 按下鼠标左键(单击)# m.release(mouse.Button.left)        # 松开鼠标左键# 方式二m.click(mouse.Button.left, 1)         # 单击鼠标左键m.press(mouse.Button.right)          # 按下鼠标右键(单击)m.release(mouse.Button.right)        # 松开鼠标右键m.click(mouse.Button.right, 1) # 单击鼠标右键# 双击m.click(mouse.Button.left, 2)         # 双击(左键)m.scroll(0,2)                       # x 左右滚动, y 上



3️⃣键盘控制与输入

⭐第一步:为了键盘输入,所以需要从pynput中导入keyboard模块。

from pynput import keyboard         # 导入keyboard模块

⭐第二步:使用Controller()方法。

k = keyboard.Controller()           # 创建一个键盘

⭐第三步:模拟按键

k.press('a')          # 按下ak.release('a')        # 松开a

?注意:引号内可以是任意字符包括汉字,但只能是单个。后续会教大家输入一句话。

⭐第四步:按特殊键(空格,shift等)

k.press(keyboard.Key.space)         # 按下空格键k.release(keyboard.Key.space)       # 松开空格键k.press(keyboard.Key.shift)         # 按下shift键k.release(keyboard.Key.shift)       # 松开shift键

⭐第五步:输入一句话

k.type('Hello everybody!')

?完整代码⬇️:

from pynput import keyboard         # 导入keyboard模块k = keyboard.Controller()           # 创建一个键盘k.press('a')          # 按下ak.release('a')        # 松开ak.press(keyboard.Key.space)         # 按下空格键k.release(keyboard.Key.space)       # 松开空格键k.press(keyboard.Key.shift)         # 按下shift键k.release(keyboard.Key.shift)       # 松开shift键k.type('Hello everybody!')



4️⃣结语?

如果你学会了这些还不知道用pynput来干什么。那我教你可以实现打开应用,自动浏览网页,与女朋友微信聊天等。应用程序是无限的,你可以使用这种方法构建任何类型的自动化工具。

?打开软件代码分享:https://blink.csdn.net/details/1511416
?微信发送信息代码分享: https://blink.csdn.net/details/1511454





点击全文阅读


本文链接:http://zhangshiyu.com/post/58796.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1