当前位置:   article > 正文

PC端自动化:python中的GUI自动化工具介绍_python客户端自动化

python客户端自动化

目录

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~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/564253
推荐阅读
相关标签
  

闽ICP备14008679号