用纯python脚本玩转UU加速器

简介: 用纯python脚本玩转UU加速器

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

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

(这里插播个小广告,Airtest正在参加掘金一年一度的创作者大赛,希望喜欢Airtest的朋友,能动动手指,给我们投个9票吧,万分感谢!!: rank.juejin.cn/rank/2022/w…

2. UU加速器的自动化demo

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

  • 确保先关闭UU加速器的进程
  • 打开UU加速器
  • 获取UU加速器的句柄,并连接上
  • 给UU加速器做一些简单的测试

image.png

# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
from airtest_ocr.api import *
import os 
import win32api,win32con
import 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加速器.*")#连接窗口

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

相关文章
|
2月前
|
JSON 缓存 API
深度分析淘宝API接口,用Python脚本实现
本内容深入解析淘宝开放平台 API 的接口设计与 Python 实现,涵盖接口体系、认证机制、签名规则及限流策略,并提供完整的 Python 调用框架,适用于电商系统对接与自动化运营。
|
2月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
2月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
2月前
|
JSON API 数据安全/隐私保护
【干货满满】分享淘宝API接口到手价,用python脚本实现
淘宝开放平台通过API可获取商品到手价,结合商品详情与联盟接口实现优惠计算。需使用AppKey、AppSecret及会话密钥认证,调用taobao.tbk.item.info.get接口获取最终价格。代码示例展示签名生成与数据解析流程。
|
2月前
|
JSON API 数据安全/隐私保护
深度分析苏宁API接口,用Python脚本实现
苏宁易购开放平台提供覆盖商品、订单、库存、门店等零售全链路的API服务,采用RESTful架构与“AppKey+AppSecret+签名”认证机制,支持线上线下一体化业务处理。本文详解其API特性、认证流程及Python调用实现。
|
2月前
|
自然语言处理 安全 API
深度分析洋码头API接口,用Python脚本实现
洋码头是国内知名跨境电商平台,专注于海外商品直购。本文基于其API的通用设计逻辑,深入解析了认证机制、签名规则及核心接口功能,并提供了Python调用示例,适用于商品与订单管理场景。
|
2月前
|
JSON API 数据格式
深度分析易贝API接口,用Python脚本实现
本文深度解析了eBay开放平台的RESTful API接口体系,涵盖其核心功能、OAuth 2.0认证机制、请求规范及限流策略,并基于Python构建了完整的API调用框架。内容包括商品与订单管理接口的实现逻辑、认证流程、错误处理机制及实战调用示例,适用于跨境电商系统开发与多平台集成。
|
2月前
|
JSON 监控 BI
深度分析亚马逊API接口,用Python脚本实现
本内容深度解析亚马逊SP-API接口体系,涵盖商品、订单、库存等核心功能域,详解LWA认证、AWS签名及Python调用实现,适用于跨境电商系统开发与集成。
|
2月前
|
API Python 数据格式
深度分析京东API接口,用Python脚本实现
深度分析京东API接口,用Python脚本实现
|
2月前
|
JSON API 开发者
深度分析微店API接口,用Python脚本实现
微店作为知名移动端电商平台,其开放平台提供丰富的API接口,支持商品、订单、客户及营销管理。本文分析其API核心特性,并提供Python调用示例,助力开发者快速集成业务功能。

热门文章

最新文章

推荐镜像

更多