需求:

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

如:大麦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 u2import 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)breakexcept:pass

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

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

注意点:

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

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

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

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

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

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

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

.

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

  1. python新手之一环境安装

    今天开始学习python,首先环境安装 1.下载安装 在https://www.python.org/downloads/下载python2.X或者3.X(ps:这里建议下载32位的python ,因 ...

  2. 自学python需要安装什么-Python自学之环境安装

    原标题:Python自学之环境安装 网上有各种Python环境安装的教程,看似简单但只有自己亲身实践才知有好多坑.作者在Windows 7 32位操作系统下部署Python环境(这里遇到的一个坑是Wi ...

  3. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  4. 安卓设备脱离pc自动化测试,Termux模拟器下python+uiautomator2的环境设置。本人亲测,踩坑总结。

    termux是一个终端模拟器,无需root,今天讲解安卓python+uiautomator2来实现安卓设备脱离pc的自动化环境设置: --------表示环境设置的坑太多,本人搞了很久,现做个详细总 ...

  5. bash: go: 未找到命令_【安全入门】centos7java/python/go语言环境安装

    搞技术的肯定都得有几台虚拟机,同时也得弄几个vps,尤其是做网安的,复现个环境,最少用一个虚拟机.不管是开发还是做网络安全(脚本小子),linux机器是必备,一般选ubuntu或者centos 7,每 ...

  6. Python开发的环境安装和配置

    文章目录 一.下载Python 二.安装Python 三.测试是否安装成功 四.手动配置Python(Python安装成功就不需要去手动配置了) 一.下载Python 1.官网下载安装Python解释 ...

  7. python与数值计算环境安装

    数值计算的编程的软件很多种,也见过一些编程绘图软件的对比. 利用Python进行数值计算,需要用到numpy(矩阵) ,scipy(公式符号), matplotlib(绘图)这些工具包. 1.Linu ...

  8. ubuntu下的python的diango环境安装

    django环境安装 我们将虚拟环境所需的包全部放在install.txt,以下是django_py3项目所需环境: Pillow==2.8.2 amqp==1.4.9 anyjson==0.3.3 ...

  9. Python 一键必要环境安装

    每次python环境变化导致各种异常时,各种debug非常麻烦,经常需要重新安装环境,一些必要的模块需要一个一个安装,非常耗时,所以我写了一个批处理,每次在安装完python环境后,一键自动安装,在此 ...

  10. Python笔记-weditor的安装及基本使用

    这里我是在Linux上安装好python虚拟环境3.6.9,并且安装了uiautomator2. 首先是安装weditor pip install weditor -i https://pypi.tu ...

最新文章

  1. 如何救队友_第五人格中高端局如何救队友,这些技巧很实用,不卡血量是关键...
  2. 删除git中无用的大文件
  3. R显卡VR性能如何?AMD发布 VRMark Cyan Room 测试结果
  4. C#--WinForm项目主窗体设计
  5. chrome浏览器ios版本迎来“信用卡扫描器”代码
  6. delare和typeset
  7. 二叉树类型笔试面试题大总结(含代码)
  8. Vue练习(修改为自定义事件)
  9. 如何从JavaScript对象中删除键? [重复]
  10. 必备9种能力、9种手段、9种心态
  11. 组态服务器和客户端是啥协议,组态王服务器和客户端区别
  12. php 银行卡四要素验证,基于PHP的银行卡号实名认证(四要素)示例代码-六派数据...
  13. maya破解版安装python_Maya mayapy.exe 安装 Cython,编译 pyd
  14. 开发者的多媒体梦工厂: AV Pipeline Kit究竟是什么?
  15. OpenCV图像处理学习四,像素的读写操作和图像反差函数操作
  16. SpringBoot 项目中在Controller 直接调用Mapper,提示:Field mapper in ‘*Controller ‘ required a bean of type ‘*Map
  17. 作为开篇文章,我们聊聊“围城”
  18. 【操作系统作业】睡觉助教(用Java的ReentrantLock实现)
  19. python datetime 格式化_[已解决]Python中用strftime格式化datetime出错
  20. 5.excel绘制统计图

热门文章

  1. matlab 合成t检验,[zz]用MATLAB做T检验(ttest)
  2. HTML段落前面怎么加黑点,word文档前面的黑点是怎么加的?(组图)
  3. 数据分析学习笔记--航空公司客户价值分析(代码)
  4. hcia hdcp实验
  5. 【Unity5】实现24小时日出日落的效果 24小时天幕系统
  6. Gd-DTPA钆元素钆元素对比磁共振造影剂 氟-19磁共振/荧光双模态显影剂19F MRI
  7. SELECT command denied to user ''@'%' for column 'xxx_id' in table 'users_xxx' 权限问题
  8. iptables 实现主机防火墙(四表五链)
  9. 大数据分析流程步骤都有哪些
  10. 各场景下NetApp的数据备份推荐(Veeam+群晖NAS)