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

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

9 人参与  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)
  • 赞助本站

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

最新文章

  • 被男友欺骗后,竹马带着我跑了全集_沈晏宁陆尘通知书后续+完结_小说后续在线阅读_无删减免费完结_
  • 他在永夜长眠+结局(苏娆时砚清)_他在永夜长眠+结局苏娆时砚清
  • 谁在原地等你后续(谁在原地等你)(林悦沈逸)完整章节列表_笔趣阁
  • 前传是不喜欢她这个新嫂子吗?续集(是不喜欢她这个新嫂子吗?)终章阅读极简(是不喜欢她这个新嫂子吗?)
  • 季洛初陆羽谦小说(原来,我一直可怜的人,竟是我自己)(季洛初陆羽谦)完整章节列表_笔趣阁
  • 凤瑶萧锦言完结篇(一天被退婚九次,她转身强娶疯王爷)(一天被退婚九次,她转身强娶疯王爷)全书无套路阅读无广告小说大结局
  • 深情不负星河愿内容精选_顾晏之叶凝晚晚热文_小说后续在线阅读_无删减免费完结_
  • 宁溪净玄黯附加宁溪净玄黯:结局+番外免费品鉴(宁溪净玄黯)全本浏览阅读连载中
  • 俞婉欣傅朗挣(意识觉醒过后,他决心改变自己的命运!)最近更新(俞婉欣傅朗挣)整本无套路阅读
  • 重生后深情丈夫包养小明星我死遁了全书+后续(程潇月沈珩)_重生后深情丈夫包养小明星我死遁了全书+后续
  • 我的女儿是状元,却被老公初恋的儿子害死TOP10_张建国杨雪杨明精校文本_小说后续在线阅读_无删减免费完结_
  • 重生后深情丈夫包养小明星我死遁了(程潇月沈珩)_重生后深情丈夫包养小明星我死遁了

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

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