用纯python脚本玩转UU加速器

article/2025/9/1 12:47:24

1. 前言

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

2. UU加速器的自动化demo

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

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

image

# -*- encoding=utf8 -*-
__author__ = "AirtestProject"from airtest.core.api import *
from airtest_ocr.api import *
import os 
import win32api,win32con
import win32guidef close_app():try:os.system("taskkill /f /im uu.exe")except:passdef 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 = hwin = 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加速器.*")#连接窗口

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


http://chatgpt.dhexx.cn/article/YHPIYtwt.shtml

相关文章

安卓游戏广告加速插件_安卓迅游加速器,无需登陆免费加速,国内外游戏均可加速下载...

大家好,这里是黑晨分享每天更新精彩软件,欢迎关注分享 今天给大家分享一个迅游加速器,这个版本的迅游加速器用手机登陆就是会员,其实不登陆也可以用里面的功能,有的手机玩游戏可能网络会非常的不好,容易出现…

UU加速器——学术资源加速

目录 1. 网易UU网游加速器产品优势 2. 网易UU网游加速器加速技术 3. 网易UU网游加速器硬件实力 4. 学术资源 5. 总结 测试环境:WIN11系统 软件下载:UU加速器 官网 1. 网易UU网游加速器产品优势 极速安装 一键加速 路由器插件 无需安装 一键加速…

全民免费吃鸡,驱动人生带你玩转PUBG

新年至,逢年过节必“吃鸡”,于是PUBG也带来了它的新年惊喜,《绝地求生》请全民免费“吃鸡”,无论是久别重逢还是素未谋面的玩家,在2022年1月12日—2022年2月1日期间,所有玩家可享受免费的游戏体验。 《绝地…

sql血缘关系解析

sql create table default.target_table LOCATION /data/location as select a,b,d,e,f,g from log.source_table 生成的ast树 (TOK_CREATETABLE (TOK_TABNAME default target_table) TOK_LIKETABLE (TOK_TABLELOCATION /data/location) (TOK_QUERY (TOK_FROM (TOK_TABREF (…

​Windows域关系学习 全攻略

本文作者:掉到鱼缸里的猫(Ms08067内网安全小组成员) 掉到鱼缸里的猫微信(欢迎骚扰交流): 说明:本文仅在Windows Server 2016 R2上进行测试,不保证其他版本环境下结果一致。 Windows …

用word2vec解读延禧攻略人物关系

原文来自公众号 无界社区mixlab 链接如下: https://mp.weixin.qq.com/s/zRqt9OL6G1s3UZY1AJR9ag 关系图谱地址 https://shadowcz007.github.io/text2kg/ 本文是对原文进行的复现,现将具体的实现过程记录如下。 #####一. 语料准备 延禧攻略剧本延禧攻略…

基于共现关系的人物关系图

共现,顾名思义 ,共同出现。共现分析有多种,比如分析参考文献、作者、词汇对(关键词)、作者机构等同时出现的情况,分析两者之间的密切联系。 在科研中貌似出现最多的是共词分析,即根据词汇在同一…

关系模式(关系模式必须遵循)

关系模式和关系是什么意思? 关系模式和关系:描述模式描述关系的静态结构,由模式名、关系模式所包含的属性及属性值所满足的条件组成模式定义。 委托代理关系有哪些内涵及模式? 委托代理关系有5种模式 (1)委托方与代理方均为单一的…

关系型数据库表之间的联系[关系]详解

关系型数据库表之间的联系[关系]详解 在表中,行和列的逻辑顺序无关紧要。每个表至少包含一列,该列被称为主键,它唯一地标识了表中的每一行。 键是表中扮演特殊角色的列,有两种键:主键、外键。 主键(Prim…

解析SQL的表间血缘关系工具

一、sqllineage SQL Lineage Analysis Tool powered by Python 源码地址:https://github.com/reata/sqllineage 安装:pip install sqllineage 使用:sqllineage -e "select * from tabA" sqllineage -f demo.sql 二、在线工具 http…

数据库进阶3--表之间的关联关系

学习这一部分之前先去回顾一下之前的基础知识哦!!! 这里写目录标题 关联关系关联关系分类关联关系的创建关联查询等值连接内连接外连接左连接右连接 关联关系 指一个业务中创建的表与表之间的关系。其关联关系有一下几种: 关联…

小感悟:多对多关系,一定要创建关系表吗?

- 感悟:多对多关系,一定要创建关系表吗? 初学数据库时,如果出现多对多关系,那么就需要额外创建一个关系表,将两边的外键存入,以此建立连接; 但是遇到多对多关系,一定需…

关系推理

知识图谱 知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(“实体”)和边(“关系”)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“…

【数据库专题】智多星带你五分钟攻略“关系代数”——《狗叫江湖》第二幕续集

、 “百分百无规则教学时间!🔥🔥🔥” 兄弟萌晚上好!我是无规则教学创始人【东星耀杨】,感谢兄弟萌对我的不离不弃,爱你们熬爱你们!还望兄弟萌给为师一个三连支持,要不然我…

互联网人的职场关系攻略

本篇文章原本是给公司校招新人的做的一个内部培训ppt(需要的可以找我),作为一名技术人员,真是不太擅长处理职场关系,但身在职场,估计都能感到其重要性,要想愉快恰饭,万万不可忽视,为了防止误导新…

vue 生命周期详解 (附代码)

一、 vue的生命周期是什么 vue每个组件都是独立的,都有自己的生命周期,从一个组件创建、数据初始化、挂载、更新、销毁,就是一个组件的生命周期。 一个组件首次加载时,也就只执行 创建、数据初始化到挂载。 生命周期给了用户在…

详解vue生命周期(常问面试题)

面试常问:1、vue生命周期是什么? Vue 实例从创建到销毁的过程为生命周期。从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,称之为 Vue 的生命周期。 2、vue生命周期的作用是什么? 在控制整个…

Vue学习 — 详解Vue生命周期

目录 一、前言二、生命周期1、beforeCreat / created(1)、beforeCreat:(2)、created: 2、eforeMount / mounted(1)、beforeMount:(2)、mounted: 3、beforeUpd…

Vue生命周期详解学习笔记

生命周期 生命周期又名生命周期回调函数,生命周期函数,生命周期钩子。生命周期是Vue在关键时刻帮我们调用的一些特殊名称的函数。生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。生命周期中的this指向vm或组件实例对象…

Vue的生命周期详解,一文带你弄懂Vue的生命周期

大家好,我是Ned👀,一个刚刚入门前端未满两年的大三小学生🌹 未来路还长🎉, 一起努力加油吧❤~ 前言 我记得尤大曾经说过,你看Vue源码干嘛?你使用Vue又不需要它的源码,你只需要会用就…