• [Python进阶] 操纵鼠标:pyuserinput


    6.2 操纵鼠标:pyuserinput

    6.2.1 说明

    安装pyuserinput库时会自动安装PyMousePyKeyboard库。前者主要用来操作鼠标,包括鼠标的点击、移动等。后者主要用来操作键盘,包括键盘按键的按下、弹起等。
    这两个库还可以同时对鼠标和键盘的事件进行监控。但是由于监控键鼠时会用到pyHook库,而这个库最多只支持到python3.7,故此,这里不再介绍通过pyuserinput库来对键鼠进行监控。
    注意:
    1、Python版本为3.8.5
    2、pyuserinput版本为0.1.10
    3、如果安装pyuserinput库失败,则需要先删除PyMouse和PyKeyboard
    安装:
    >>> pip install pyuserinput==0.1.10
    导入:
    >>> from pymouse import PyMouse
    >>> from pykeyboard import PyKeyboard
    实例化
    m = PyMouse() # 鼠标实例
    k = PyKeyboard() # 键盘实例

    6.2.2 m.press(x, y, button=1)

    按下鼠标的某个按键但不松开。
    参数:
    x: x轴方向像素位置
    y: y轴方向像素位置
    button: 鼠标的按键,1:左键,2:右键,3:中键

    6.2.3 m.release(x, y, button=1)

    松开鼠标的某个按键。
    参数:
    x: x轴方向像素位置
    y: y轴方向像素位置
    button: 鼠标的按键,1:左键,2:右键,3:中键

    6.2.4 m.click(x, y,button=1, n=1)

    鼠标点击指定像素点位置指定次数。
    参数:
    x: x轴方向像素位置
    y: y轴方向像素位置
    button: 鼠标的按键,1:左键,2:右键,3:中键
    n: 点击的次数
    示例:将鼠标移至616,18位置并按下鼠标左键2次

    from pymouse import PyMouse
    
    m = PyMouse()
    m.click(616,18,1,2)
    
    • 1
    • 2
    • 3
    • 4

    6.2.5 m.scroll(vertical=None, horizontal=None, depth=None)

    鼠标滚轮滚动。
    参数:
    vertical: 垂直方向,+向上,-向下
    horizontal: 水平方向,+向右,-向左
    depth: 该参数仅适用于MAC系统
    示例:鼠标滚轮向下移动200像素

    from pymouse import PyMouse
    
    m = PyMouse()
    m.scroll(-200)
    
    • 1
    • 2
    • 3
    • 4

    6.2.6 m.move(x, y)

    鼠标移动到指定位置。
    参数:
    x: x轴方向像素位置
    y: y轴方向像素位置

    6.2.7 m.drag(x, y)

    鼠标拖动(按住左键)到指定位置。
    参数:
    x: x轴方向像素位置
    y: y轴方向像素位置

    6.2.8 m.position()

    获取当前鼠标光标的坐标。元组类型,第1个为x坐标,第2个为y坐标。

    from pymouse import PyMouse
    from icecream import ic
    
    m = PyMouse()
    ic(m.position())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    21:40:24|> m.position(): (582, 298)

    6.2.9 m.screen_size()

    获取当前屏幕的分辨率,返回结果为元组类型,包括2个元素,分别是:横坐标像素和纵坐标像素。

    from pymouse import PyMouse
    
    m = PyMouse()
    print(m.screen_size())
    
    • 1
    • 2
    • 3
    • 4

    (1600, 900)

  • 相关阅读:
    数组趣味玩法:在Java SE中尝试创新玩法
    2024年,Rust开发语言,现在怎么样了?
    Kafka如何处理消费者之间的消息偏斜和负载均衡问题
    基于 Python 的简单域名反查 IP 脚本
    binary.write 和 binary.read
    功能定义-后方碰撞预警
    Oracle/PLSQL: NANVL Function
    经典网络解析(四) ResNet | 残差模块,网络结构代码实现全解析
    VUE | key的内部原理、Vue监测数据的原理、Vue.set()和vm.$set()的使用
    vue--支付宝+微信--支付
  • 原文地址:https://blog.csdn.net/crleep/article/details/133783181