import datetime import random import time import requests import uiautomator2 as u2 from tools.ip_util import get_local_ip, get_city def dong_action(mobile, device_serial, keyword, content): # 连接设备 d = u2.connect(device_serial) d.healthcheck() d.screen_on() d.unlock() d.debug = False # 关闭app d.app_stop('com.ss.android.auto') # 启动app d.app_start('com.ss.android.auto', use_monkey=True) txt = content.split('+') print('len', len(txt)) print('type', type(txt)) time.sleep(3) ''' 搜索、点赞、收藏、回帖 ''' d.xpath('//*[@resource-id="com.ss.android.auto:id/bug"]').click_exists() d(focused=True).set_text(keyword) time.sleep(2) d.xpath('//*[@resource-id="com.ss.android.auto:id/fd4"]').click_exists() time.sleep(3) d.xpath('//*[@text="视频"]').click_exists() time.sleep(1) while 1: # 视频点击 for elem in d.xpath('//android.view.View').all(): d.click(0.23, 0.261) time.sleep(2) # 点赞 d.xpath('//*[@resource-id="com.ss.android.auto:id/dxu"]/android.widget.ImageView[1]').click_exists() time.sleep(1) # 收藏 d.xpath('//*[@resource-id="com.ss.android.auto:id/d1z"]').click_exists() time.sleep(2) # 回帖 k = d.xpath('//*[@resource-id="com.ss.android.auto:id/j_b"]') j = d(text='说点什么...') if k: k.click_exists() if j: j.click_exists() time.sleep(3) # d.xpath('//*[contains(name(), "EditText")]').click_exists() d(focused=True).set_text(random.choice(txt)) # d.send_keys(t) # print('text:', t) m = d.xpath('//*[@resource-id="com.ss.android.auto:id/f6f"]') # n = d(text='发布') if m: d.xpath('//*[@resource-id="com.ss.android.auto:id/f6f"]').click_exists() # if n: # d(text='发布').click() # time.sleep(3) # d.click(0.479, 0.23) # 返回 d.xpath('//*[@resource-id="com.ss.android.auto:id/de"]').click_exists() # d.swipe_ext('up', scale=0.265) # mobile, operate_type, ip, content, operate_time, result, channel, city ip = get_local_ip() if ip is not None: city = get_city(ip) else: ip = '' city = '' # mobile = '13816996346' # 记录回帖数据 url = 'http://localhost:8066/backend/operate' params = {"channel": "dongchedi", "city": city, "ip": ip, "mobile": mobile, "operateTime": datetime.datetime.now(), "operateType": "2", "result": "操作成功"} response = requests.post(url, data=params) if response.ok: result = response.json() print(result) else: print('请求失败:', response.status_code) def dongcd_stop(device_serial): # 连接设备 d = u2.connect(device_serial) d.healthcheck() d.screen_on() d.unlock() d.debug = True # 关闭app d.app_stop('com.ss.android.auto')