def eatAD(self, adX, adY, needBack): """ :param adX: 视频广告坐标X :param adY: 视频广告坐标Y :param needBack: 是否结束时返回上级页面 0:NO, >0 YES """ adb_utils.setSleep(1) # 看广告,点击位置 adX = adb_utils.getRandom(adX - 5, adX + 5) adY = adb_utils.getRandom(adY - 5, adY + 5) print('>>> 执行点击观看广告操作,坐标: (%d,%d) ' % (adX, adY)) adb_utils.tap(adX, adY) # 等待广告看完 print('>>> 等待广告看完,75秒') adb_utils.setSleep(75) # 循环8次后将会提示需要再次查看广告 # TODO 待处理 # 返回到上级页面 # if needBack: # adb_utils.backKey() # 等待动画完成 # adb_utils.setSleep(2) print('>>> 完成视频广告操作') return
def eatBox(self, eggX, eggY): adb_utils.setSleep(2) # 点击宝箱 eggX = adb_utils.getRandom(eggX - 5, eggX + 5) eggY = adb_utils.getRandom(eggY - 5, eggY + 5) print('>>> 执行点击宝箱操作,坐标: (%d,%d) ' % (eggX, eggY)) adb_utils.tap(eggX, eggY) # 等待动画 adb_utils.setSleep(3) print('>>> 完成点击宝箱操作') return
def main(): """ 1. 功能选择清单 2. 执行操作 3. 完成回馈 """ curFuction = getSelectFuction() if curFuction == '0': curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName adb.closePhone() elif curFuction == '1': curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName adb.rebootPhone() elif curFuction == '2': curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName adb.closeScreen() return # 设置当前的设备为 用户选择输入. curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName print('\n\033[1;44m---------启动今日头条的视频观看----------\033[0m') while count < max_count: count += 1 adY = adb.getRandom(300, 500) begX = adb.getRandom(800, 1000) endX = adb.getRandom(100, 300) tt.slideVideo(adY, begX, endX, 500) sleepT = adb.getRandom(15, 30) adb.setSleep(sleepT) # 进入下一次循环 print('--- 执行次数:%d, ' % count) print("当前设备: %s \n" % curDevicesName) continue #手机关闭屏幕 adb.closeScreen()
def tapWithRand(centX, centY, randLen=10): """[随机点击某个区域] Args: centX ([int]): [中心X坐标] centY ([int]): [中心Y坐标] rangLen (int, optional): [随机取值范围]. Defaults to 10. """ halfRang = randLen / 2 nTapX = adb_utils.getRandom(centX - halfRang, centX + halfRang) nTapY = adb_utils.getRandom(centY - halfRang, centY + halfRang) # 执行点击操作. adb_utils.tap(nTapX, nTapY) return
def main(): """ 1. 初使化设备列表 2. 获取当前用户选择的设备 3. 执行命令 """ # 设置当前的设备为 用户选择输入. curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName tt = qq_read.QQRead() count = 0 max_count = run_count print('\n\033[1;44m----------------启动自动化---------------------\033[0m') while count < max_count: count += 1 tt.nextPage(1200, 1800, 1060) read_time = adb.getRandom(10, 20) # 15秒翻一次. adb.setSleep(read_time) # 进入下一次循环 print('--- 执行次数:%d, ' % count) # print("当前设备: %s \n" % curDevicesName) continue
def moveDownWithRand(centX, centY, randLen=10, moveLen=50, dura=700): """[随机向下滑动一段距离] Args: centX ([int]): [滑动开始的位置] centY ([type]): [滑动结束的位置] randLen (int, optional): [随机取值的范围]. Defaults to 10. moveLen (int, optional): [移动的长度]. Defaults to 50. dura (int, optional): [移动所需的时长,单位ms]. Defaults to 700. """ halfRang = randLen / 2 nTapX = adb_utils.getRandom(centX - halfRang, centX + halfRang) nTapY = adb_utils.getRandom(centY - halfRang, centY + halfRang) nMoveLen = adb_utils.getRandom(moveLen, moveLen + 20) adb_utils.move(nTapX, nTapY, nTapX, nTapY + nMoveLen, dura) return
def eatEggs(self, eggX, eggY): # 等待界面稳定 adb.setSleep(2) # 获取点击的坐标,范围内随机值,10个像素的偏移 eggX = adb.getRandom(eggX - 5, eggX + 5) eggY = adb.getRandom(eggY - 5, eggY + 5) # 点击蛋蛋 print('>>> 执行点击蛋蛋操作,坐标: (%d,%d) ' % (eggX, eggY)) adb.tap(eggX, eggY) # 等待动画完成 adb.setSleep(2) print('>>> 完成点击直播鸡蛋操作') return
def tapNewsList(offsetY): """[点击文章列表中的某篇文章] Args: offsetY ([数字]): [文章的Y坐标值] """ iRanY = adb_utils.getRandom(500, 520) - offsetY adb_utils.setSleep(1) adb_utils.tap(500, iRanY) adb_utils.setSleep(1) return
def eatColEggs(self, coEggX, coEggY): # 等待界面稳定 adb.setSleep(2) # 点击彩蛋 adX = adb.getRandom(coEggX - 5, coEggX + 5) adY = adb.getRandom(coEggY - 5, coEggY + 5) print('>>> 执行点击彩蛋操作,坐标: (%d,%d) ' % (adX, adY)) adb.tap(adX, adY) adb.setSleep(1) adb.backKey() adb.setSleep(2) print('>>> 完成金币页面彩蛋操作') # 完成操作 return
def main(): """ 1. 初使化设备列表 2. 获取当前用户选择的设备 3. 执行命令 """ # 设置当前的设备为 用户选择输入. curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName tt = toutiao.Toutiao() count = 0 max_count = run_count count = 0 max_count = run_count print('\n\033[1;44m---------启动今日头条的视频观看----------\033[0m') while count < max_count: count += 1 adY = adb.getRandom(300, 500) begX = adb.getRandom(800, 1000) endX = adb.getRandom(100, 300) tt.slideVideo(adY, begX, endX, 500) sleepT = adb.getRandom(15, 30) adb.setSleep(sleepT) # 进入下一次循环 print('--- 执行次数:%d, ' % count) print("当前设备: %s \n" % curDevicesName) continue #手机关机. adb.closePhone()
def main(): """ 1. 初使化设备列表 2. 获取当前用户选择的设备 3. 执行命令 """ # 设置当前的设备为 用户选择输入. curDevicesName = devlist.getUserSelectDevice() adb.gb_devices_name = curDevicesName tt = toutiao.Toutiao() count = 0 max_count = run_count print('\n\033[1;44m---------启动今日头条的小说阅读----------\033[0m') while count < max_count: count += 1 sleepT = adb.getRandom(10, 25) adb.setSleep(sleepT) coEggX = 1040 coEggY = 600 adX = adb.getRandom(coEggX, coEggX + 30) adY = adb.getRandom(coEggY - 200, coEggY + 900) adb.tap(adX, adY) # 进入下一次循环 print('--- 执行次数:%d, ' % count) print("当前设备: %s \n" % curDevicesName) continue #手机关闭屏幕 adb.closeScreen()
def nextPage(self, minY=140, maxY=1000, tapX=1060): """ 阅读小说进行翻页,(1060, (140~1000) ) :param tapX: 点击翻页的时的X坐标值,默认值为:1060 :param minY: 点击的Y坐标最小的偏移随机值,用于防止系统变为机器人 :param maxY: 点击的Y坐标最大的偏移随机值,用于防止系统变为机器人 :return: none """ adb_utils.setSleep(2) pageY = adb_utils.getRandom(minY, maxY) print('>>> 执行翻页操作,坐标: (%d,%d) ' % (tapX, pageY)) adb_utils.tap(tapX, pageY) # 等待动画 adb_utils.setSleep(3) # print('>>> 完成点击宝箱操作') return
def readNews(beginY=600, readTime=10): """[查阅文章,上下滑动 ] #10分钟一次阅读,8分钟向下滑动,2分钟向上滑动 Args: beginY (int, optional): [滑动开始的位置]. Defaults to 600. readTime (int, optional): [阅读文章时长,单位分钟]. Defaults to 10分钟. """ # 5秒休息一次,10分钟反向滑动 # 向上移动8分钟,向下移动2分钟,共10分钟. moveCout = (readTime - 1) * 60 moveNum = 0 coEggX = 500 coEggY = beginY # 向上滑动 while moveCout > 1: adX = adb_utils.getRandom(coEggX - 20, coEggX + 20) adY = adb_utils.getRandom(coEggY - 5, coEggY + 5) adL = adb_utils.getRandom(45, 100) adb_utils.move(adX, adY, adX, adY - adL, 700) adb_utils.setSleep(5) moveCout -= 5 moveNum += 1 print(">>> 文章阅读中,->向上移动次数 (%d) 阅读时长(%d)..." % (moveNum, moveNum * 5)) # 向下滑动 moveNum = 0 moveCout = 1 * 60 while moveCout > 1: adX = adb_utils.getRandom(coEggX - 20, coEggX + 20) adY = adb_utils.getRandom(coEggY - 5, coEggY + 5) adL = adb_utils.getRandom(45, 80) adb_utils.move(adX, adY - adL, adX, adY, 700) adb_utils.setSleep(5) moveCout -= 5 moveNum += 1 print(">>> 文章阅读中,<-向下移动次数 (%d) 阅读时长(%d)..." % (moveNum, moveNum * 5))