• python中的GUI自动化工具介绍


    目录

    1.pyautoGui

    2.Lackey

    3.AXUI

    4.winGuiAuto

    5.pywinauto

    6.总结


    1.pyautoGui

    PyAutoGUI是一个纯Python的GUI自动化工具,通过它可以让程序自动控制鼠标和键盘的一系列操作来达到自动化测试的目的。PyAutoGui 也一个流行的跨平台库(具有基于图像的搜索,没有基于文本的控件操作)。

    在cmd窗口输入以下代码进行安装:

    pip install pyautogui

    参考学习:

    Pywinauto的安装及使用_信步青云的博客-CSDN博客

    PyautoGui 常用教程(一篇就够)_顽强拼搏的阿k的博客-CSDN博客_pyautogui

    常用功能操作如下:

    获取当前鼠标的位置

    1. x,y=pyautogui.position()
    2. print(x,y) # 输出的结果是:312,198 (结果是鼠标当前位置,可以想象成以屏幕左上角为原点的第一象限)

    获取当前屏幕分辨率

    pyautogui.size()         # 输出的结果是:(1920,1080) (结果是当前屏幕分辨率)

    判断x, y是否在屏幕上

    pyautogui.onScreen(x,y)      # 输出的结果是:True/False

    移动鼠标函数

    pyautogui.moveTo(x,y,s)      #鼠标移动到(x,y)并保持s秒,同理还有拖动方法dragTo(x,y,s)
    pyautogui.click(x,y)      #鼠标点击(x,y) 
    pyautogui.rightClick(x,y)     #鼠标右击(x,y),同理还有middleClick(中击),doubleClick(双击),tripleClick(三击)
    pyautogui.scroll(x,y)      #鼠标在(x,y)滚动
    pyautogui.mouseDown(x,y,button='left')     #鼠标左边按下,同理mouseUp为鼠标松开

    输入键盘内容函数

    pyautogui.typewrite("hello")       #输入"hello"
    pyautogui.typewrite(['a','b','c'])      # 依次输入"a","b","c"
    pyautogui.hotkey('ctrl','c')           #按键ctrl+c
    pyautogui.keyUp(key_name)       #松开键盘
    pyautogui.keyDown(key_name)      #按下键盘

    信息弹窗函数

    pyautogui.alert('stop')       # 出现"stop"的警示框

    截屏函数

    image=pyautogui.screenshot(region(0,0,300,400)) # region参数,截图区域,由左上角坐标、宽度、高度4个值确定,如果指定区域超出了屏幕范围,超出部分会被黑色填充,默认`None`,截全屏    
    location= pyautogui.locateOnScreen('apple.png')      #返回图片的位置
    x,y =pyautogui.locateCenterOnScreen('apple.png')      #返回图片中心的位置

    一段应用代码举例:

    1. import time
    2. import pyautogui
    3. pyautogui.click(550, 190)
    4. for i in range(1, 500):
    5. time.sleep(1)
    6. pyautogui.click(550, 285)
    7. time.sleep(1) # 为了方便看效果,让每次操作后停留1
    8. pyautogui.hotkey('ctrl','a') #按键ctrl+a
    9. time.sleep(1)
    10. pyautogui.click(420, 90)
    11. time.sleep(1)
    12. pyautogui.typewrite("{}-timeseries-20210328.xls".format(i)) #输入文件名
    13. time.sleep(1)
    14. pyautogui.hotkey('enter') #按键enter
    15. time.sleep(1)
    16. pyautogui.click(550, 190)
    17. time.sleep(1)
    18. pyautogui.hotkey('down') #按下方向键

    总结:pyautogui的主要功能包括:①GUI 控制功能,②鼠标操作,③屏幕处理,④键盘输入尤其讲到其中的屏幕处理,注意控制鼠标的操作,不能盲目的进行,需要监控屏幕上的内容,从而决定要不要进行对应的操作。

    2.Lackey

    Lackey - Sikuli的纯Python替代品(基于图像模式匹配)。有模拟鼠标点击的功能。

    库安装地址:Lackey · PyPI

    在Cmd窗口中使用whl安装:

    pip install python_dateutil-2.5.3-py2.py3-none-any.whl

    lackey手册地址:

    Welcome to Lackey’s documentation! — Lackey 0.7.3 documentation

    3.AXUI

    AXUI - MS UI Automation API的一个包装器。有模拟鼠标点击的功能。

    4.winGuiAuto

    winGuiAuto - 另一个使用Win32 API的模块。有模拟鼠标点击的功能。

    5.pywinauto

    pywinauto 可以获取客户端界面元素的属性通过触发事件,完成对页面的操作。这个功能可以实现某些客户端按钮的点击事件在电脑熄屏的情况下进行自动化操作注意这里要区别于鼠标点击事件,鼠标点击是模拟鼠标进行点击发送信号,需要移动鼠标无法在熄屏下进行操作。

    pywinauto支持的控件包括:

    • 标准Win32控件:MFC, WTL, VB6和其他一些使用WinForms的老应用
    • 所有基于MS UI Automation的标准部件:WPF, Qt, 所有浏览器, Windows文件资源管理器和其他


    6.总结

    网上简单一张图,概括了基本所有:

    如果基于windows的自动化,建议还是学习pywinauto~

  • 相关阅读:
    杰理下载器强制下载工具的使用介绍_AC695N696NAD14AD15全系列支持
    python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)
    照片怎么进行压缩?这几个压缩方法分享给你
    Metabase学习教程:仪表盘-8
    2022年您应该考虑使用的最佳WordPress主题
    fabic如何将绘图原点移到画布中心
    护眼台灯该怎么样选择?2022如何选择一款好的护眼台灯
    [数据集][目标检测]野生动物检测数据集VOC+YOLO格式1054张4类别
    2023.11.17 -hivesql调优,数据压缩,数据存储
    消息中间件篇之Kafka-消费顺序性
  • 原文地址:https://blog.csdn.net/sy20173081277/article/details/128031692