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


    6.4 操纵鼠标:PyAutoGUI

    6.4.1 说明

    PyAutoGUI是一个Python的GUI自动化工具,它可以让程序自动控制鼠标和键盘的一系列操作。它能够模拟鼠标的移动、点击、拖拽等操作,以及键盘的按键按下和释放等操作。PyAutoGUI还提供了其他功能,如获取屏幕分辨率、判断鼠标是否在屏幕上、显示提示框等。它可以在没有安装其他依赖库的情况下独立运行。PyAutoGUI对于自动化任务、测试脚本的编写以及一些趣味性的项目都非常有用。
    注意,PyAutoGUI是跨平台的,它不仅支持Windows,还支持Linux和MAC。
    安装:
    >>> pip install PyAutoGUI

    6.4.2 position()

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

    import pyautogui
    from icecream import ic
    
    x, y = pyautogui.position()
    ic(x, y)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    21:41:25|> x: 719, y: 470

    6.4.3 size()

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

    import pyautogui
    from icecream import ic
    
    x, y = pyautogui.size()
    ic(x, y)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    21:42:10|> x: 2560, y: 1440

    6.4.4 onScreen(x, y=None)

    返回给定的xy坐标是否在主屏幕上。请注意,此函数不适用于辅助屏幕。

    import pyautogui
    from icecream import ic
    
    ic(pyautogui.onScreen(1220, 68))
    ic(pyautogui.onScreen(12200, 68))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    21:45:48|> pyautogui.onScreen(1220, 68): True
    21:45:48|> pyautogui.onScreen(12200, 68): False

    6.4.5 mouseDown、mouseUp

    模拟将鼠标移动到目标位置后按下或弹起。
    参数
    x=None 横坐标
    y=None 纵坐标
    button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
    duration 持续时间
    tween 渐变
    logScreenshot 是否截图,True or False
    _pause 是否暂停,True or False

    import pyautogui
    
    pyautogui.mouseDown(287, 220, logScreenshot=True)
    pyautogui.mouseUp(287, 220, logScreenshot=True)
    
    • 1
    • 2
    • 3
    • 4

    将鼠标移动到指定位置后,按下并弹起,并且在按下和弹起的时候进行全屏截图。生成的图片将会存放在代码文件所在的文件夹内。

    6.4.6 click、leftClick、rightClick、middleClick、doubleClick、tripleClick

    模拟将鼠标移动到目标位置后完整的点击(包括按下和弹起)。通过这些函数的名字也能知道他们的区别。
    参数
    x=None 横坐标
    y=None 纵坐标
    clicks 点击的次数
    button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
    duration 持续时间
    tween 渐变
    logScreenshot 是否截图,True or False
    _pause 是否暂停,True or False

    这个方法和之前的mouseDown、mouseUp差不多,这里也就不多介绍了。

    6.4.7 scroll、hscroll、vscroll

    滚动鼠标滑轮进行滚动屏幕,滚动的方向(水平、垂直)和系统有关。windows系统中scroll为垂直方向。其它2个则为对应的方向。
    参数
    Clicks: 滚动量,正数向上滚动,将上方内容滚动到下方(显示更上面的内容),负数反之
    X: (int, float, None, tuple, optional): 滚动时,鼠标光标横坐标所在位置,如果是tuple类型则因为光标的横纵坐标
    Y: (int, float, None, optional): 滚动时,鼠标光标纵坐标所在位置
    LogScreenShot: 是否要截图

    6.4.8 moveTo

    将鼠标移动到某个位置。
    参数
    x=None 横坐标
    y=None 纵坐标
    duration 持续时间
    tween 渐变
    logScreenshot 是否截图,True or False
    _pause 是否暂停,True or False

    6.4.9 dragTo

    参数
    x=None 横坐标
    y=None 纵坐标
    duration 持续时间
    tween 渐变
    button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
    logScreenshot 是否截图,True or False
    _pause 是否暂停,True or False
    mouseDownUp 是否要在最后点击一次
    拖动某个软件到屏幕右边

    import pyautogui
    
    pyautogui.moveTo(422, 23)
    pyautogui.dragTo(1422, 23, duration=0.5)
    
    • 1
    • 2
    • 3
    • 4

  • 相关阅读:
    Spring Security HTTP认证
    ​iOS安全加固方法及实现
    6.RokcketMQ消息重试与死信队列
    劲(很)霸(不)酷(好)炫(用)的NLP可视化包:Dodorio 使用指北
    CB利用链及无依赖打Shiro
    Python——正则表达式的应用
    【剑指offer】数据结构——数
    张高兴的 MicroPython 入门指南:(一)环境配置、Blink、部署
    SecureCRT之Xmodem操作步骤
    《定时执行专家》日志的解决方案 —— 关于wxLog的使用,附详细代码
  • 原文地址:https://blog.csdn.net/crleep/article/details/133821057