python+ UIAutomator2+WEditor环境安装详情教学以及案例

需求:

近期有朋友找我,让我做一个定点抢票的脚本给她,大概的需求如下:

如:大麦app准点抢票(如6月18日13点00分抢票告五人livehouse)

如下:


分析

在想到操作手机的工具时,我大致想到了appium和UIAutomator2。

考虑到appium环境的部署很复杂(在大学的时候参加比赛装过,出来工作之后就没接触了),后面选择了用UIAutomator2框架。

UIAutomator2环境安装过程详解

1.安装uiautomator2。打开cmd,输入:pip install –pre uiautomator2。

校验可以使用命令pip show uiautomator2,可以看到下面的版本号。

这
2.手机设置。用USB手机连接电脑,连接电脑我们要打开“开发者工具”,允许

这部手机和电脑连接。目的是为了后续初始化的时候在手机安装ATX软件。

3.检验连接。为了验证是否连接成功,我们可以在打开cmd,输入命令:adb

dervice,可以看到有一个连接设备的设备号,说明我们手机和电脑连接上

了。

4.初始化脚本。打开cmd,输入python –m uiautomator2 init ,查看是否成功,

可以看到日志成功以及手机上会有安装ATX软件(翻译脚本)

在这里插入图片描述

5.安装可视化UI查看器—Weditor。打开cmd,输入pip install –pre –Uweditor,

安装成功后会显示下图:

在这里插入图片描述

6.打开webditor命令:python –m weditor,这时会自动打开一个浏览器。

在这里插入图片描述
7.编写脚本。定时点击按钮,我用的是datetime库,就精确到毫秒,当然也可

以用time库。下面的脚本很简单,就不需要讲解了吧。

import uiautomator2 as u2

import datetime
# 开抢的时间
times = '2022-06-18 13:59:53'
d = u2.connect(addr='TTNDU20A09003047')

while 1 ==1:
    #精确到微秒
    a = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
    #精确到秒
    # a = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    print('抢到票的时间是:'+a)
    if a > times:
        while 1 ==1:
            try:
                # 连接并启动
                #经过测试,坐标定位法比其他方法花费时间短
                d.click(0.633, 0.955)
                d.click(0.713, 0.958)
                d.click(0.92, 0.52)
                d.click(0.8, 0.96)

                break
            except:
                pass

这个脚本做的很粗糙,大概用了半个小时。

但是,在编写大麦网抢票的过程中,我发现了以下几个问题,可以思考:

注意点:

1.大麦网的倒计时时间与北京时间不符。(蛋疼,倒计时时间跟我们设计的

不一样,慢了4秒多,导致不能第一时间抢)

2.选用哪种定位方式更快。Text比坐标点击慢。

3.怎样解决UI反应慢的问题。

好了,最后附上该工具的各自方法链接(别的大神):

https://blog.csdn.net/adorable_/article/details/121998945

安装遇到什么问题可以在底下留言探讨。

.

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值