我们都知道要实现APP内的UI自动化常用的有很多自动化框架来实现鼠标拖拽、滑动、点击等操作。PC端的UI自动化操作,其实现步骤也可借鉴:
1、绝对坐标/相对坐标
2、进行滑动、点击等业务操作
本次实现使用python已有模块:pyautogui(鼠标操作)、APScheduler(定时调度器)
模块介绍
PyAutoGUI:Python的GUI自动化工具,模拟鼠标的移动、点击、拖拽,键盘按键输入、按住等操作,支持平台(Windows,OS X,Linux)。常用方法单击click()、双击doubleClick()、按下按键press('esc')等
APScheduler四大组件:
触发器 triggers :设定触发任务的条件
任务储存器 job stores:存放任务,把任务存放在内存或数据库中
执行器 executors: 执行任务,可以设定执行模式为单线程或线程池
调度器 schedulers: 把上方三个组件作为参数,通过创建调度器实例来运行
具体的介绍和使用参见:https://www.jianshu.com/p/4f5305e220f0
代码实现
根据定时任务触发时机,模拟鼠标操作,完成重复性动作
import pyautogui
import time
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def job():
pyautogui.click(1130, 874)
time.sleep(2)
pyautogui.doubleClick(1344, 821)
print("已完成一次触发",datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 定义BlockingScheduler
sched = BlockingScheduler()
sched.add_job(job, 'interval', seconds=240)
sched.start()
#获取当前鼠标所在坐标
# import os
# import time
# import pyautogui as pg
#
# try:
# while True:
# print("按下组合键 {Ctrl}+C 结束执行\n")
# sW, sH = pg.size() # 获取屏幕的尺寸(像素)screenWidth,screenHeight
# print("屏幕分辨率:\n" + str(sW) + ',' + str(sH) + '\n') # 打印屏幕分辨率
# x, y = pg.position() # 获取当前鼠标的坐标(像素)
# print("鼠标坐标:\n" + str(x).rjust(4) + ',' + str(y).rjust(4)) # 打印鼠标坐标值
# time.sleep(1) # 等待1秒
# os.system('cls') # 清屏
# except KeyboardInterrupt:
# print('\n结束,按任意键退出....') # 检测到Ctrl+c组合键结束运行
结果:
屏幕快照 2020-02-13 下午6.58.30.png
扩展学习:
1、windows应用程序操作?参考https://www.cnblogs.com/wuxunyan/p/9366178.html
2、MAC应用程序操作?参考https://blog.csdn.net/gaoyuqiang30/article/details/75115763
网友评论