用纯python脚本玩转UU加速器 您所在的位置:网站首页 uu加速器占用 用纯python脚本玩转UU加速器

用纯python脚本玩转UU加速器

2023-03-10 02:12| 来源: 网络整理| 查看: 265

👆对私有云感兴趣可以进入公众号回复“私有云”哦。 1. 前言

之前几期内容,我们出过纯py形式的Android自动化脚本。同学们一直让再出一下纯py形式的Windows脚本,今天我们以UU加速器为例,给大家出一个简单的学习demo。

(这里插播个小广告,Airtest正在参加掘金一年一度的创作者大赛,希望喜欢Airtest的朋友,能动动手指,给我们投个7票吧:)

2. UU加速器的自动化demo

今天的练习demo也非常简单,大致内容是:

确保先关闭UU加速器的进程

打开UU加速器

获取UU加速器的句柄,并连接上

给UU加速器做一些简单的测试

# -*- encoding=utf8 -*-__author__ = "AirtestProject"

from airtest.core.api import *from airtest_ocr.api import *import os import win32api,win32conimport win32gui

def close_app(): try: os.system("taskkill /f /im uu.exe") except: pass

def open_app(): os.startfile(r"D:\Netease\UU\uu.exe") sleep(3) hwnd_title = {} def get_all_hwnd(hwnd, mouse):#获得当前所有窗口句柄 if (win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd)): hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})

win32gui.EnumWindows(get_all_hwnd, 0)#获取uu加速器的窗口句柄 for h, t in hwnd_title.items(): if t == "UU加速器": uu_handle = h

win = connect_device("windows:///{handle}".format(handle=uu_handle))#连接窗口 sleep(3)

def UU_test(): touch(Template(r"tpl1672282498716.png", record_pos=(0.132, 0.388), resolution=(791, 688)))

touch(Template(r"tpl1671784347112.png", record_pos=(0.273, -0.296), resolution=(1000, 688))) sleep(1) text("绝地求生") sleep(1)

touch(Template(r"tpl1672283419545.png", record_pos=(0.264, 0.064), resolution=(1000, 688)))

assert_exists(Template(r"tpl1671784672194.png", record_pos=(-0.124, -0.046), resolution=(989, 688)), "找到结果")

double_click(Template(r"tpl1671785263585.png", record_pos=(0.317, -0.307), resolution=(967, 688))) keyevent("^a") #全选 sleep(1.0)

keyevent("^c") #复制 sleep(1.0)

keyevent("{BACK}") #删除 sleep(1.0)

keyevent("^v") #粘贴 sleep(1.0)

close_app()open_app()UU_test()

3. 小结 1)os.system

system 函数可以将字符串转化成命令在我们的机器上运行,就像我们写的终止UU加速器的进程那样:

os.system("taskkill /f /im uu.exe")

2)os.startfile

打开windows窗口:

os.startfile(r"D:\Netease\UU\uu.exe")

3)win32gui

win32gui模块,可以帮助我们做很多关于Windows窗口的事情,比如:

# 判断活跃窗口win32gui.IsWindow()

# 获取窗口标题win32gui.GetWindowText()

# 枚举窗口win32gui.EnumWindows

......

4)连接窗口

在Airtest操作Windows窗口之前,我们必须使用连接窗口的语句,把目标窗口连接上,之后才能对它进行一系列的自动化操作:

win = connect_device("windows:///{handle}".format(handle=uu_handle))#连接窗口

当然,其实这里我们也可以不用这么复杂的方式来获取句柄,直接使用正则表达式匹配窗口title,会更加简洁好用:

win = connect_device("Windows:///?title_re=UU加速器.*")#连接窗口

那今天的练习就到这里啦,希望同学们多多关注我们!

(猜你还想看 ) ▼ 用airtest-selenium脚本爬取百度热搜标题 如何正确使用Airtest报告插件?报告小tips上线 如何利用Airtest做一些简单的装包小任务



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有