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')组合按键(同时按)
posted @ 2020-06-23 16:08  mikigo  阅读(3800)  评论(0编辑  收藏  举报