精华内容
下载资源
问答
  • 这种情况下,Python也不是完全没有办法的,我们可以采用模拟键盘鼠标的方式实现自动化。 Python模拟键盘和鼠标最著名的模块是:pymouse和pykeyboard。一次安装两个模块比较麻烦,而有一个整合了这两个模块,...

    在某些情况下,如果我们需要进行自动化操作的应用没有提供相应的接口,我们无法直接通过Python来调用API实现自动化。这种情况下,Python也不是完全没有办法的,我们可以采用模拟键盘和鼠标的方式实现自动化。

    Python中模拟键盘和鼠标最著名的模块是:pymousepykeyboard。一次安装两个模块比较麻烦,而有一个库整合了这两个模块,而且能支持跨平台操作,这个库叫PyUserInput,通过安装PyUserInput就可以直接得到pymousepykeyboard

    1.准备

    开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

    Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

    当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。

    PyUserInput 在不同系统下的安装需要使用不同的依赖:

    • Linux - Xlib (python-xlib)
    • Mac - Quartz, AppKit
    • Windows - pywin32, pyHook

    在终端输入以下命令安装我们所需要的依赖模块:

    pip install PyUserInput

    看到 Successfully installed xxx 则说明安装成功。Windows系统下如果出现如以下的红色字体提示则需要安装pyHook:

    No matching distribution found for pyHook (from PyUserInput)

    pyHook安装比较麻烦,给大家讲一下,安装成功或者非Windows系统的同学可以跳过这里的讲解:

    **1.**安装pyHook需要前往 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook 找到你的Python版本对应的pyHook安装包,如我的是Python 3.6,系统是64位,则选择红框版本

    **2.**输入以下命令安装该whl文件:

    pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl
    

    文件需要在输入命令的当前文件夹下。

    **3.**出现Successfully installed pyHook-1.5.1则说明安装成功。

    如果出现缺少pywin32依赖,或者pywin32无法正常使用,请前往https://github.com/mhammond/pywin32/releases 下载对应版本的pywin32安装包,这里的安装包是exe程序,直接双击安装即可。

    安装pywin32的时候如果出现这样的错误(借他人图):

    是因为你的Python没有被写入到注册表,需要将注册表写入Python,执行下方代码(可在Python实用宝典公众号后台回复:注册表 获得)就可成功注册。

    import sys
    
    from winreg import *
    
    # tweak as necessary
    version = sys.version[:3]
    installpath = sys.prefix
    
    regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
    installkey = "InstallPath"
    pythonkey = "PythonPath"
    pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (installpath, installpath, installpath)
    
    
    def RegisterPy():
        try:
            reg = OpenKey(HKEY_CURRENT_USER, regpath)
        except EnvironmentError as e:
            try:
                reg = CreateKey(HKEY_CURRENT_USER, regpath)
                SetValue(reg, installkey, REG_SZ, installpath)
                SetValue(reg, pythonkey, REG_SZ, pythonpath)
                CloseKey(reg)
            except:
                print("*** Unable to register!")
                return
            print("--- Python", version, "is now registered!")
            return
        if (
            QueryValue(reg, installkey) == installpath
            and QueryValue(reg, pythonkey) == pythonpath
        ):
            CloseKey(reg)
            print("=== Python", version, "is already registered!")
            return
        CloseKey(reg)
        print("*** Unable to register!")
        print("*** You probably have another Python installation!")
    
    
    if __name__ == "__main__":
        RegisterPy()
    
    

    注册完毕后就可以正常安装pywin32了,然后再重新安装 PyUserInput 即可。macOS和Linux在安装的时候应该不会遇到太大问题,如果有遇到问题可以先搜索一下,网上解决方案都很全,或者在本文下方留言求解。

    2.基本使用

    pymouse模块相对简单,你只需要记以下几个函数即可满足基本的使用需求,如

    1.鼠标移动:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 移动鼠标到(x, y)绝对地址
    m.move(200, 200)
    

    中键滚动:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 中键垂直滚动 10个单位
    m.scroll(10, 0)
    

    2.鼠标点击:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 鼠标点击(500, 300), 第三个参数代表键位,1是左键,2是右键,3是中键
    m.click(500, 300, 1)
    

    鼠标拖拽:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 鼠标从当前位置拖拽到(500, 300)
    m.drag(500, 300)
    

    3.获得当前屏幕大小:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 当前屏幕大小
    m.screen_size()
    

    4.获得鼠标当前位置:

    # Python实用宝典
    from pymouse import PyMouse
    
    # 初始化鼠标对象
    m = PyMouse()
    
    # 当前位置
    m.position()
    

    只要记住以上4个方法,pymouse模块你就掌握了。接下来是比较复杂的pykeyboard模块:

    1.键入字符串

    # Python实用宝典
    from pykeyboard import PyKeyboard
    
    # 初始化键盘对象
    k = PyKeyboard()
    
    # 键入Hello, World!
    k.type_string('Hello, World!')
    

    2.按下按键与释放按键

    # Python实用宝典
    from pykeyboard import PyKeyboard
    
    # 初始化键盘对象
    k = PyKeyboard()
    
    # 按下H键
    k.press_key('H')
    
    # 释放H键
    k.release_key('H')
    
    # 你也可以使用tap_key函数直接实现按下和释放
    k.tap_key('H')
    
    # 支持自定义按下次数和其间隔时间,单位:秒
    k.tap_key('l',n=2,interval=5)
    

    3.特殊按键的输入:

    # Python实用宝典
    from pykeyboard import PyKeyboard
    
    # 初始化键盘对象
    k = PyKeyboard()
    
    # 按住alt键
    k.press_key(k.alt_key)
    # tab键
    k.tap_key(k.tab_key)
    # 释放alt键
    k.release_key(k.alt_key)
    
    # F5键
    k.tap_key(k.function_keys[5])
    # Home键
    k.tap_key(k.numpad_keys['Home']) 
    # 按数字5三次
    k.tap_key(k.numpad_keys[5], n=3)
    

    3.小练习

    微信的收藏功能相当好用,我收藏了几百个链接和推送,但是微信官方却没有提供批量删除的功能。。这么明显的痛点都没有修复,也许这就是微信的“任性”吧,优秀。

    没事,有了Python,我们完全可以自己干。开始之前,需要下载一个叫看鼠标的软件,查找微信中某些组件所对应的当前屏幕的坐标(软件下载:mousexy)。

    比如红点处位置为(574, 202). 所以为了实现批量删除,我们只需要从这个位置开始,右键删除,然后滚动相同宽度,重复这个操作即可。

    为了避免文章篇幅过长,这里留给大家做练习,我们在下篇推送中将详细解析做法,敬请期待。

    我们的文章到此就结束啦,如果你喜欢我们今天的Python 实战教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦,有任何问题都可以在下方留言区留言,我们都会耐心解答的!


    Python实用宝典

    不只是一个宝典

    欢迎关注公众号:Python实用宝典

    原文来自Python实用宝典:Python 模拟键盘鼠标操作实战教程

    Python实用宝典

    展开全文
  • python模拟鼠标键盘操作的库

    千次阅读 2018-01-17 09:31:44
    https://pynput.readthedocs.io/en/latest/
    https://pynput.readthedocs.io/en/latest/
    
    展开全文
  • 模拟鼠标的点击,模拟键盘;采用的python 是pymouse、pykeyboard pip install PyUserInput 使用Python来模拟鼠标的点击 2014-06-09 16:087442人阅读评论(0)收藏举报 分类: python(18) 使用Python来模拟...

    模拟鼠标的点击,模拟键盘;采用的python 库是 pymouse、pykeyboard

    pip install PyUserInput

    使用Python来模拟鼠标的点击

    2014-06-09 16:08 7442人阅读 评论(0) 收藏 举报

     分类:

    python(18) 

    使用Python来模拟鼠标的点击

    转载自http://blog.163.com/oatnehc0924@126/blog/static/359016772014565359314/

    在自动化测试中,需要使用Python来模拟鼠标的点击等操作。

    可以使用外部库PyMouse。

    下载地址在http://download.csdn.net/detail/oatnehc/7457875,官网地址在这里http://code.google.com/p/pymouse/

    安装pymouse必须要xlib的支持,xlib下载地址在http://download.csdn.net/detail/oatnehc/7457893这里,还可以在这里:http://sourceforge.net/projects/python-xlib/
    1. 安装xlib
    2. 安装pymouse
    3. 使用实例
    from pymouse import PyMouse
    mouse = PyMouse()
    mouse .position()  #获取当前坐标的位置
    mouse .move(x,y)  #鼠标移动到(x,y)位置
    mouse .click(x,y)  #移动并且在(x,y)位置点击
    mouse .click(x,y,1|2)  #移动并且在(x,y)位置点击,左右键点击

    非常实用的工具吧。

    展开全文
  • python模拟鼠标键盘

    万次阅读 多人点赞 2019-05-16 17:22:04
    导入pymouse和pykeyboard,通过PyMouse和PyKeyboard类可以分别实例化鼠标和键盘对象。然后利用类中定义的相应的方法,可以模拟鼠标的移动、单击、双击操作,模拟键盘的输入、按键等操作。

    利用python实现模拟鼠标和键盘的相关操作,可以实现对判断结果可视化。(或者实现一些其他的有趣的功能)

    1. 环境配置

    python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中。1
    因此需要确保已经完成了PyUserInput模块的安装。如果尚未完成可照我另一篇博文:
    windows7 Anaconda3 pyuserinput模块安装指南(解决pip install无法使用)

    2. 操作思路

    PyMouse模块是一个模拟鼠标的类,集成在【pymouse】包中,包含了move, click, press等方法,分别可以模拟鼠标的移动、点击等操作。鼠标所在位置是基于电脑屏幕分辨率、由用户指定的。即,将电脑屏幕看做一个二维平面,每个像素为平面坐标系中的一个点,原点在左上角,x轴和y轴分别向右向下延伸。据此对鼠标定位。

    PyKeyboard模块是一个模拟键盘的类,集成在【pykeyboard】包中,包含了press_key, release_key等方法,分别可以模拟按键和松开的操作,另有一些方法可以实现同时按键。

    3. 开始使用

    • 导入函数库
    from pymouse import *     # 模拟鼠标所使用的包
    from pykeyboard import *   # 模拟键盘所使用的包
    import time   # 连续进行两个动作可能太快而效果不明显,因此加入暂停时间
    
    • 实例化
    m = PyMouse()   # 鼠标的实例m
    k = PyKeyboard()   # 键盘的实例k
    
    • 模拟鼠标操作
    x_dim, y_dim = m.screen_size()     # 获取屏幕尺寸(一般为电脑屏幕的分辨率,如1920*1080)
    # 估计需要点击的位置坐标(不知道有没有定位代码,我没找到,我是自己估计的。例如,我的电脑屏幕为(1920,1080),我想要单击的地方估计坐标为(10,500))
    m.move(10, 500)   # 将鼠标移动到位(此步可忽略,直接单击也可)
    time.sleep(0.5)   # 暂停0.5s,方便观察移动结果
    m.click(10, 500, 1, 1)   # 表示在(10, 500)的地方,单击左键
    

    鼠标操作说明

    m.move(x, y) # 鼠标移动到坐标(x, y)
    m.click(x, y, button, n) # 鼠标点击。x,y–坐标, button–按键选项(1为左键,2为右键),n–点击次数(默认1此,2表示双击,仅此两个值)
    m.screen_size() # 获取屏幕尺寸,返回两个值分别为长和宽

    • 模拟键盘操作
    k.type_string('hello world')   # 模拟键盘输入字符串
    k.press_key(‘H’) –模拟键盘按H键 
    k.release_key(‘H’) –模拟键盘松开H键 
    

    键盘操作说明2
    单个按键

    代码 功能
    k.type_string(‘Hello, World!’) 模拟键盘输入字符串
    k.press_key(‘H’) 模拟键盘按H键
    k.release_key(‘H’) 模拟键盘松开H键
    k.tap_key(“H”) 模拟点击H键
    k.tap_key(‘H’,n=2,interval=5) 模拟点击H键,2次,每次间隔5秒
    k.tap_key(k.function_keys[5]) 点击功能键F5
    k.tap_key(k.numpad_keys[5],3) 点击小键盘5,3次

    组合键(例如同时按alt+tab键盘 )

    代码 功能
    k.press_key(k.alt_key) 按住alt键
    k.tap_key(k.tab_key) 点击tab键
    k.release_key(k.alt_key) 松开alt键

    常见的键和键值码(例如Page Up键可用数字33实现)见网页:

    用python代码模拟键盘输入

    4. 完整应用示例

    接下来将用代码实现:打开记事本,切换输入法,键入hello world。
    首先准备好电脑界面(便于指定鼠标单击的位置):
    运行代码前的准备界面
    代码如下所示:

    from pykeyboard import *
    from pymouse import *
    import time
    
    m = PyMouse()                                   # 鼠标对象
    k = PyKeyboard()                                # 键盘对象
    
    x_dim, y_dim = m.screen_size()                  # 获得屏幕尺寸
    print('屏幕尺寸为: ', x_dim, y_dim)
    m.move(7, 510)
    time.sleep(0.5)                                 # 留点时间鼠标移动到该位置
    m.click(7, 510, 1, 1)                           # 在坐标(7,510)处单击左键
    time.sleep(0.5)
    k.tap_key(16)                                   # 按下shift键,切换至英文输入法
    k.type_string('hello world')                    # 在记事本中键入hello world
    

    运行结果:
    运行代码后的结果


    1. PyUserInput操作说明 ↩︎

    2. python3.6 怎样使用pymouse模拟鼠标键盘操作? ↩︎

    展开全文
  • 采用的python 是 pymouse、pykeyboard 安装时直接pip安装,pip install PyUserInput 安装不成功可以参照http://www.lfd.uci.edu/~gohlke/pythonlibs/这个地址,内容很全 实现了一个最简单输入密码,enter...
  • 首先模拟鼠标键盘按下释放动作,本人利用X11 这个,所以要了解X11编程;其次,本身用c或者c++就可以实现了,但是由于本人是py 粉,所以总想把代码搬进python,所以本人就要实现python模块,本篇用ctypes,以后...
  • 首先模拟鼠标键盘按下释放动作,本人利用X11 这个,所以要了解X11编程;其次,本身用c或者c++就可以实现了,但是由于本人是py 粉,所以总想把代码搬进python,所以本人就要实现python模块,本篇用ctypes,...
  • 分两部分: 记录所有的鼠标操作和键盘操作 根据记录的结果,用程序来重现一遍. 之所以做这个事情,是看到有人用python来实现自动玩网页游戏.并且里面还使用到了图像匹配.来使鼠标操作更加准确....需要用到的库: pyHo...
  • Python模拟键盘鼠标最著名模块是:pymouse和pykeyboard。一次安装两个模块比较麻烦,而有一个整合了这两个模块,而且能支持跨平台操作,这个叫PyUserInput,通过安装PyUserInput就可以直接得到pymouse和...
  • Python模拟键盘鼠标最著名模块是:pymouse和pykeyboard。一次安装两个模块比较麻烦,而有一个整合了这两个模块,而且能支持跨平台操作,这个叫PyUserInput,通过安装 PyUserInput 就可以直接得到pymouse和...
  • 2、利用Python模拟鼠标键盘操作,模拟人工去操作此软件。 第一种想法比较难实现,因为首先是没有此软件接口,没办法进入它后台。其次是Python没有这样功能。 第二种想法容易实现,但是有一个问题,是Py...
  • python监听、操作键盘鼠标库pynput详细教程

    千次阅读 多人点赞 2020-05-17 14:43:13
    监听、操作鼠标、键盘是实现自动化捷径,比如我实现自动化签到用到了模拟键盘操作。 pynput是监听、操控鼠标和键盘跨平台第三方python库。 你可以通过pip insnall pynput来安装。安装时会自动下载依赖。 pypi...
  • InputBot 一个用于创建全局热键的库,以及模拟鼠标键盘输入
  • python 捕捉和模拟鼠标键盘操作

    万次阅读 多人点赞 2017-09-23 00:09:58
    这就要求掌握使用python捕捉和模拟键盘操作了,于是我查阅了网上诸多资料,终于实现了这个功能,特此记录下来方便以后复习。 使用的python版本为:3.6.1,使用anaconda配置的python环境 参考博文首先安装pyautogui...
  • Python模拟键盘输入和鼠标操作 一、Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0) #ctrl键位码是17 win32api.keybd_event(86,0,0,0) #v键位码是86 win32api.keybd_...
  • 首先模拟鼠标键盘按下释放动作,本人利用X11 这个,所以要了解X11编程;其次,本身用c或者c++就可以实现了,但是由于本人是py 粉,所以总想把代码搬进python,所以本人就要实现python模块,本篇用ctypes,...
  • Python——实现网页模拟键盘输入和鼠标点击一.安装selenium1.1 win+R打开输入窗口1.2 输入cmd,点击确定1.3 输入代码:二.以谷歌浏览器为例,配置环境2.1打开谷歌浏览器,查看当前浏览器版本2.2 输入谷歌浏览器...
  • 最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪。看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读...选择使用python,用到的库p...
  • 基于 HttpClient爬虫对于许多混淆加密需要慢慢调试,找到加密原理,耗时耗力,等你破解了加密方法说不定又换了新加密方法,所以,针对这样网站还是选择内置浏览引擎爬虫(关键词:PhantomJS,Selenium)在浏览器...
  • PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘鼠标的库。但凡是你不想手动重复操作的工作都可以用这个库来解决。 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作,它能完全模拟...
  • [python]windows下模拟鼠标键盘输入一、几个用到函数二、代码win_mouse_key.py三、应用实例:在cmd窗口用python脚本将一段文本复制到另一个地方cmdpythonfrom win_mouse_key import*脚本代码: 一、几个用到函数 ...
  • Windows和Linux上钩子和模拟键盘事件 键盘 使用这个小型 Python 完全控制您键盘。 挂钩全局事件、注册热键、模拟按键等等。 特性 所有键盘上全局事件挂钩(无论焦点如何都捕获键)。 监听和发送键盘事件...
  • 使用python pynput完全模拟鼠标操作

    千次阅读 2018-12-13 10:52:27
    人生苦短,我用Python!... 一搜 果然有模拟鼠标键盘操作的库pynput 但是网上的各种关于这个库的资料几乎大部分都是从文档那抄过来或者翻译一下的没法直接使用,而且不是很好用. pynput 官方文档链接 https://py...
  • pyautogui可以用来控制键盘鼠标模拟人为操作,从而实现某些需要人工操作才能控制场景,比如某些应用软件测试、不适合爬虫网页内容获取等场景。还可以用来截取屏幕,它附带了简单图像识别功能,通过事先保存...
  • rabird.winio的Python项目详细描述 拉伯德.winio 警告:此已重命名为pywinio...键盘模拟 NOTICE: You must have a ps/2 keyboard connected to your PC if you test on win10 or later, otherwise this sample w.
  • 模拟鼠标键盘

    千次阅读 2012-10-28 16:19:28
    一、用处 模拟鼠标键盘这个功能的作用非常多,这里简单举几个...在windows下模拟鼠标的话,咨询Win32各种库吧,这里python中对应的库就是pywin32库啦。 http://sourceforge.net/projects/pywin32/ 下载安装后
  • 用于制作Raspberry Pi程序可模拟键盘/鼠标Bluetooth HID客户端。 先决条件 为了运行该程序,必须更新Raspberry Pi,并且必须安装一些依赖项。 通过克隆存储并从其根文件夹执行以下命令,可以轻松完成所有这些...

空空如也

空空如也

1 2 3 4 5
收藏数 83
精华内容 33
关键字:

python模拟键盘鼠标的库

python 订阅