相关文章推荐

Python版按键精灵PyAutoGUI使用介绍

PyAutoGUI是一个纯Python的GUI自动化工具,通过它可以让程序自动控制鼠标和键盘的一系列操作来达到自动化测试的目的。


安装方式

pip install pyautogui


记一次办公自动化(在鼠标移动过程中截屏以实现Choice终端数据抓取):

import pyautogui
y = 360
i = 0
for x in range(467, 1532, 1): # 起始位置的x坐标为467,长度为1065水平方向上的位移(步长设为1)
    pyautogui.moveTo(x, y, duration=0.1)
    i += 1
    # region参数,截图区域,由左上角坐标、宽度、高度4个值确定,如果指定区域超出了屏幕范围,超出部分会被黑色填充,默认`None`,截全屏
    pyautogui.screenshot('yourpath/shot{}.png'.format(i), region=(460, 360, 1080, 330))


常用功能

获取当前鼠标的位置

x,y=pyautogui.position() 
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')      #返回图片中心的位置


记另一次办公自动化(Choice终端数据导出):

import time
import pyautogui
pyautogui.click(550, 190)
for i in range(1, 500):
    time.sleep(1)
    pyautogui.click(550, 285)
    time.sleep(1)                          # 为了方便看效果,让每次操作后停留1秒
    pyautogui.hotkey('ctrl','a')           #按键ctrl+a
    time.sleep(1)
    pyautogui.click(420, 90)
    time.sleep(1)
    pyautogui.typewrite("{}-timeseries-20210328.xls".format(i))       #输入文件名
    time.sleep(1)
    pyautogui.hotkey('enter')           #按键enter
    time.sleep(1)
 
推荐文章