击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

还在为需要在电脑做一些重复的点击或者提交表单等操作而苦恼吗?

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

如果告诉你能通过 Python 预先写好相关的操作指令,让它帮你操作 鼠标和键盘,而你翘着二郎腿和妹子聊着天岂不是美滋滋?

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

一、 pyauogui 库

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

你可以通过 pip 进行安装:

python3 -m pip install pyautogui

源码:https://github.com/asweigart/pyautogui

pip主页:https://pypi.org/project/PyAutoGUI/

二、操作鼠标

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

想要调用鼠标的点击方法可以这样:

单击:

>>> pyautogui . click()

右击:

>>> pyautogui . click(button = 'right' )

双击:

>>> pyautogui . doubleClick()

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

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

pg.moveTo(100,200,2)

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

这里的 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种。

想要拖拽鼠标,可以调用 dragTo 方法,比如:

pg.dragTo(300, 400, 2, button='left')

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

三、操作键盘

接着我们来操作键盘

可以同过 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 方法,比如:

切换窗口:

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

运行一波就是这样:

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

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

输入 fxxkpython:

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

四、案例

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

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

运行一波就是这样:

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

是不是有点selenium 的内味了。

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

运行一波:

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

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

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘

运行一波就是这样:

击败无聊的办公室重复操作,用 Python 控制鼠标和键盘