用 Python 控制你的鼠标和键盘,然后爱怎么玩怎么玩

共 1578字,需浏览 4分钟

 ·

2020-03-23 23:30


可能有时候你需要在电脑做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己爱干嘛干嘛去,有点 “按键精灵” 的意思,是不是感觉有点爽呢?


那么如何使用 Python 来控制我们的鼠标和键盘呢?


接下来就是:

学习 Python 的正确姿势




3fa8d74a3108da9ddcbbef56ae3ec01d.webp




我们可以先安装一下 pyauogui 这个库,通过它你就可以写一些 Python 脚本来控制你的鼠标和键盘了,比如你可以定义鼠标在哪个位置点击,定义键盘在什么时候输入什么内容等,从而达到自动化操作所有你想要操作的软件应用,值得说的一点是,他可以运行在 Win、MacOS、Linux平台上。


你可以通过 pip 进行安装:



python3 -m pip install pyautogui



安装完之后,就可以使用它了,比如我们现在想要知道鼠标的位置就可以通过 position 方法获取:



2fba9fb91d20c641b1d8e9f7af07b655.webp




也可以写一个方法来实时获取鼠标的位置:



7dfabdc19253084b18224d71e5c8a78a.webp




通过 while 循环不断监听鼠标当前的位置,运行一波就是这样:



34331fb822ee85ec84e79ab3c28adb37.webp




想要调用鼠标的点击方法可以这样:
单击:
>>> pyautogui.click()


右击:
>>> pyautogui.click(button='right')

双击:
>>> pyautogui.doubleClick()

比如现在我的桌面有一张帅照:



fb554e87e981e3feb78d2feede9288f1.webp




想使用 Python 来操作鼠标去打开它,那么就可以这样,把鼠标轻轻的放在帅照上面,然后获取一下鼠标在这个位置的坐标:



614c5110e3ad25bf8db16956d5020f6e.webp




可以发现这张照片的位置是在 (74,197),那么就可以调用鼠标的双击方法:


e919a5de0d8f7eaf44f1e0d2a6244f46.webp




我们在 doubleClick 方法中传入了坐标位置,所以它可以将鼠标移动的位置进行双击。


当然,你也可以调用 moveTo 方法来移动鼠标,比如让鼠标移动到 100,200 的位置就可以这样:

pg.moveTo(100,200,2)

1c18adf1fd849df91bdc26e7546a5adc.webp




这里的 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种。
想要拖拽鼠标,可以调用 dragTo 方法,比如:
pg.dragTo(300, 400, 2, button='left')


321de2e3a667a9b0d8352d23d3ecac11.webp




表示的是从当前位置拖动到指定坐标的位置,其中的 2 代表移动时间,button 可以设置是左键还是右键。


bc35ca8cd2c0cf0935762d9d6fdf997c.webp



接着我们来操作键盘

可以同过 press 来调用键盘的操作,比如:
按下回车:
>>> pyautogui.press('enter')

按下左键:
>>> pyautogui.press('left')

按下 CTRL:
>>> pyautogui.press('ctrl')


快捷键的话可以使用 hotkey 方法,比如:

按下 Ctrl + Shift + T:
>>> pyautogui.hotkey('ctrl', 'shift', 't')

复制:

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


按住不动可以使用 keyDown 方法,释放按键可以使用 keyUp 方法,比如:


切换窗口:




31b22a33aa0aaf7ad8137ddceb52ca68.webp




运行一波就是这样:




01349e3b16605060305ac3c766d6a5ef.webp



刚刚的 pg.PAUSE=1 指的是每隔一秒执行一个操作指令。


想要控制键盘输入内容,可以使用 write 方法,比如:



输入 fxxkpython:

pg.write('fxxk Python !', interval=0.3)



6a5d31641367d372800f9537d425a0e4.webp



知道了这些你就可以去玩一些有意思的事了,举几个简单的例子给你乐呵乐呵。


比如指定它去浏览器搜索内容:




35ae86f97de0eeb6efcb49b0e17d6fa4.webp




运行一波就是这样:




f621435264713c924b2b8a95c99efb0c.webp



是不是有点 selenium 的内味了。



又比如操作它去微信聊天:




6ac7986c6b15d5d5d378fde5503021ad.webp




运行一波:




48e9fe979d77b0821964708b5caaa95b.webp




再举一个官方的例子,你可以让它去画图:



8211182c903c1a3e2a417acb84fc08d7.webp




运行一波就是这样:




76794331a10cec2a75bcb6b2269018dc.webp



ok,以上就是小帅b今天给你带来的分享,看完这个,自动填写表单啥的不在话下了吧?希望对你有帮助,那么我们下回见,peace!



016dc6d2b29c85c2cd70626e8719be46.webp

扫一扫

学习 Python 没烦恼


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报