查看原文
其他

安利下这个库,解放你左手

liuzhijun 进击的Coder 2023-06-29

阅读本文大概需要 3 分钟。


这个题目起的,跟个小黄文似的。

那 PyAutoGUI 不知道大家有没有用过,它是一款用 Python 自动化控制键盘、鼠标的库。但凡是你不想手动重复操作的工作都可以用这个库来解决。

比如一边洗澡一边刷微博啊,刷知乎啊,刷..
咦,怎么离不开洗澡?
啊不管了,懒惰是一种美德嘛!
下面我们开始啦~

安装pyautogui

pip install pyautogui

键盘鼠标控制

>>> import pyautogui
>>> screenWidth, screenHeight = pyautogui.size() # 返回屏幕分辨率
>>> currentMouseX, currentMouseY = pyautogui.position() # 返回鼠标的所在位置
>>> pyautogui.moveTo(100, 150) #移动鼠标到指定位置
>>> pyautogui.click() # 单击
>>> pyautogui.click(200, 220) # 单击指定位置
>>> pyautogui.move(None, 10) # 移动鼠标10个像素
>>> pyautogui.doubleClick() # 双击鼠标
>>> pyautogui.write('Hello world!', interval=0.25) # 输入字符串,每个字符停留时间0.25秒
>>> pyautogui.press('esc') # 退出键
>>> pyautogui.keyDown('shift') # Shitf键盘
>>> pyautogui.hotkey('ctrl', 'c') # 组合键
pyautogui能模拟所有的鼠标键盘操作,下面就是用pyautogui自动画图

显示消息弹窗

除了可以控制鼠标键盘外,还可以调用系统弹窗
>>> import pyautogui
>>> pyautogui.alert('This is an alert box.')
'OK'
>>> pyautogui.confirm('Shall I proceed?')
'Cancel'
>>> pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
'B'
>>> pyautogui.prompt('What is your name?')
'Al'
>>> pyautogui.password('Enter password (text will be hidden)')
'swordfish'
通过窗口消息盒子可以实现一些简单的人机交互,比如某些地方需要人工输入内容时,这样可以接受用户的指令。

截屏

截图是使用的Pillow模块实现的,截图的用处在于通过图片识别技术识别图片内容,然后通过内容精准定位到某个元素的位置,实现精准点击。
>>> import pyautogui
>>> im1 = pyautogui.screenshot()
>>> im1.save('my_screenshot.png')
>>> im2 = pyautogui.screenshot('my_screenshot2.png')

推荐阅读

1

更友好的格式化数据提取方案

2

太赞了!程序员应该访问的最佳网站都在这里了!

3

集齐这 9 个 vscode 插件,摸鱼被发现算我输!

4

别造谣了,微软新声明断供中国?这协议去年就有了




崔庆才静觅博客博主,《Python3网络爬虫开发实战》作者隐形字个人公众号:进击的Coder长按识别二维码关注



好文和朋友一起看~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存