예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
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()
예제 #4
0
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
    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
예제 #8
0
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
예제 #9
0
    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
예제 #10
0
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()
예제 #11
0
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()
예제 #12
0
    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
예제 #13
0
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))