meal_allowance.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. """
  2. 头条极速版
  3. 吃饭补贴
  4. """
  5. import os
  6. import random
  7. from strategy.rpa_enum import media_type
  8. from tools import loggerKit
  9. from func.action_tool import \
  10. read_pic_base64_string, \
  11. make_task_click_widget, \
  12. make_task_click_image, \
  13. check_result_status, \
  14. make_task_continual_swipe_screen, \
  15. make_task_stop_app
  16. # 头条app的id
  17. toutiao_package_name = "com.ss.android.article.lite"
  18. # 头条app的版本
  19. toutiao_app_version = "9.7.0.0"
  20. def meal_allowance_task(task_id, data):
  21. start_pages=0
  22. max_pages=50
  23. task_id = str(task_id)
  24. # 获取设备id
  25. device_id = data.get("deviceID")
  26. loggerKit.info("[头条极速版][吃饭补贴任务]请求信息:{0}{1}'.format(task_id,data))")
  27. """
  28. 检查上一步执行结果状态
  29. """
  30. result_status = check_result_status(
  31. task_id=task_id,
  32. data=data,
  33. target_app=media_type.toutiao.value,
  34. target_version=toutiao_app_version,
  35. package_name=toutiao_package_name
  36. )
  37. if result_status is not None:
  38. return result_status
  39. """
  40. 首页点击任务
  41. """
  42. step_index = 1
  43. action_dict = make_task_click_widget(
  44. data=data,
  45. step_index=step_index,
  46. target_app=media_type.toutiao.value,
  47. target_version=toutiao_app_version,
  48. package_name=toutiao_package_name,
  49. control_id='android:id/tabs',
  50. item_index=2,
  51. sleep_time=4
  52. )
  53. if action_dict is not None:
  54. # 返回新生成的操作json字典
  55. return action_dict
  56. """
  57. 点击吃饭补贴入口
  58. """
  59. step_index += 1
  60. # 获取图片base64字符串
  61. current_dir = os.path.dirname(os.path.abspath(__file__))
  62. image_path = os.path.join(current_dir, "pic/toutiao_meal_allowance.png")
  63. encoded_string = read_pic_base64_string(image_path)
  64. action_dict = make_task_click_image(
  65. data=data,
  66. step_index=step_index,
  67. target_app=media_type.toutiao.value,
  68. target_version=toutiao_app_version,
  69. package_name=toutiao_package_name,
  70. pic_base64=encoded_string,
  71. sleep_time=4
  72. )
  73. if action_dict is not None:
  74. # 返回新生成的操作json字典
  75. return action_dict
  76. """
  77. 持续向上滑动屏幕
  78. """
  79. random_sleep_time = random.randint(5, 10)
  80. step_index += 1
  81. action_dict = make_task_continual_swipe_screen(
  82. data=data,
  83. step_index=step_index,
  84. target_app=media_type.toutiao.value,
  85. target_version=toutiao_app_version,
  86. package_name=toutiao_package_name,
  87. direction="up",
  88. is_need_loop=True,
  89. loop_count=1000*5,
  90. sleep_time=random_sleep_time
  91. )
  92. if action_dict is not None:
  93. # 返回新生成的操作json字典
  94. return action_dict
  95. """
  96. 关闭APP
  97. """
  98. step_index += 1
  99. return make_task_stop_app(
  100. task_id,
  101. data,
  102. step_index,
  103. target_app=media_type.toutiao.value,
  104. target_version=toutiao_app_version,
  105. package_name=toutiao_package_name
  106. )