Python三方库PyAutoGUI的使用方法
通过ssh远程执行脚本的时候,需要加上:
import os
os.environ["DISPLAY"] = ":0" # 注意这行代码需要写在"import pyautogui"之前
import pyautogui
1.安装:
sudo pip3 install python3-xlib
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
sudo pip3 install pyautogui
2.暂停和自动放故障
pyautogui.PAUSE = 1,每个执行动作之后,都会等待1s
pyautogui.FAILSAFE = True,启动自动防故障功能(鼠标移到屏幕的做上角,将导致pyautogui产生pyautogui.FailSafeException异常)在自动化测试项目中,为了不自动跳出用例脚本,通常设置未False
3.鼠标操作
3.1 控制鼠标移动
pyautogui.size() 返回两个整数元素,包含屏幕的宽和高的像素数。
pyautogui.moveTo(x, y, duration=0.25)移动到某个坐标,duration表示移动到目的位置所需的秒数。
pyautogui.moveRel(x, y, duration=0.25)相对于当前位置移动鼠标。x,y可以为负数
3.2 获取鼠标位置
pyautigui.positon()返回鼠标的位置
3.3 点击鼠标
pyautogui.click() 默认左键在当前位置点击
pyautogui.click(x, y, button='left')在指定位置左键点击,button可以为'left','middle','right'
pyautogui.mouseDown()按下不放
pyautogui.mouseUp()释放鼠标按键
pyautogui.doubleClick()双击左键
pyautogui.rightClick()双击右键
pyautogui.middleClick()双击中键
3.4 拖动鼠标
pyautogui.dragTo()鼠标拖动到一个位置
pyautogui.dragRel()相对当前拖到一个距离的位置
3.5 滚动鼠标
pyautogui.scroll(number) 上下滚动的单位
3.处理屏幕
需安装scrot,才能在pyautogui中使用屏幕快照功能。sudo apt-get install scrot
3.1获取屏幕快照
image = pyautogui.screenshot() ,image是一个屏幕快照的对象
image.getpixel(x, y) 返回图像中坐标处的像素对象,返回值是一个RGB元组,包含3个整数。
3.2分析屏幕快照
pyauto.pixelMatchesColor(50, 200,(130,135,144)) >>True
4.图像识别
实际使用下来有点问题,如果图标比较小的情况,无法定位,图像识别建议使用opencv模板匹配
pyautogui.locateOnScreen("xxx.png") >>(643, 745, 70, 29)
返回4个整数的元素,分别是屏幕上首次发现该图像时左边的x坐标、顶边的y坐标、宽度以及高度。
如果该图像在屏幕上能够找到多出,locateAllOnScreen()函数将返回一个对象,将它传给list(),返回一个4整数元组的列表。
list(pyautogui.locateAllOnScreen("xxx.png"))
pyautogui.center((643, 745, 70, 29)) >>返回图像区域的中心坐标
5.键盘操作
pyautogui.typewrite("message") 输入内容
pyautogui.typewrite(['ctrl','alt','a','left'])从左到右,先后顺序按键盘的按键
pyautogui.keyDown('shift')按住不放
pyautogui.keyUp()键盘松开
pyautogui.press('ctrl')单个按键
pyautogui.hotkey('ctrl','c')组合按键(同时按)
本文来自博客园,作者:mikigo,转载请注明原文链接:https://www.cnblogs.com/mikigo/p/13182619.html