zoukankan      html  css  js  c++  java
  • 解放双手!用 Python 控制你的鼠标和键盘

    在工作中难免遇到需要在电脑上做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己去刷网页打游戏,岂不是很爽?】

    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
    QQ群:1097524789

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

    一、安装pyautogui库

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

    你可以通过 pip 进行安装:

    
    

    python3 -m pip install pyautogui

    源码:

    https://github.com/asweigart/pyautogui

    pip主页:

    https://pypi.org/project/PyAutoGUI/

    二、操作鼠标

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

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

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

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

    单击:

    
    

    pyautogui.click()

    右击:

    
    

    pyautogui.click(button='right')

    双击:

    
    

    pyautogui.doubleClick()

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

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

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

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

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

    
    

    pg.moveTo(100,200,2)

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

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

    
    

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

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

    三、操作键盘

    接着我们来操作键盘。

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

    切换窗口:

    运行一波就是这样:

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

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

    输入 hellopython:

    
    

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

    四、实战

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

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

    运行一波就是这样:

    是不是有点 selenium 的内味了。

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

    运行一波:

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

    运行一波就是这样:

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

  • 相关阅读:
    Servlet使用适配器模式进行增删改查案例(IBaseDaoUtil.java)
    Servlet使用适配器模式进行增删改查案例(BaseDao.java)
    Servlet使用适配器模式进行增删改查案例(Dept.java)
    Servlet使用适配器模式进行增删改查案例(Emp.java)
    sql server案例总结
    sql server操作案例
    java语音播报案例
    Java实现网络传输数据的压缩
    Java实现网络传输数据的压缩
    LZW压缩算法原理及其Java实现
  • 原文地址:https://www.cnblogs.com/shann001/p/13092770.html
Copyright © 2011-2022 走看看