uiautomator2 半自动发布视频脚本

import uiautomator2 as u2
import time
import random
d = u2.connect('填写自己需要连接的手机')

#------------下面的部分信息需要根据具体情况编辑的---------
#添加热门音乐时,选第几首歌
djsgq='1'

#发布视频是,选择第几个视频来发布,默认是第一个。有些人是全部录屏好了,再去发视频的,这里就用到了
spsx='1'

#录屏时的滚动快慢,0.1是很快,0.9是很慢,一般设置0.1-0.5就行
lpkm=0.3

#搜索的店名
ssdm='霸王茶姬(莱斯店)'
#店铺地址
dpdz='昆仑莱斯A2号楼'
#优惠条件,这个钱币的符号,我粘贴在浏览器的时候是正常的,现在放到Word里就显示问号了
yhtj='49.9💰抢门市价182💰'
#优惠内容
yhnr='33.8💰抢大杯双人乌龙茶'
#立抢提示
lqts='点击左下角地址立抢优惠'

#判断是录屏还是图文,lp是录屏,tw是图文
islt='lp'
#如果是图文,要选多少张图片,顺序是要怎么样的,数字不能重复,重复就会重复点击, 就会选不上了
twsx=('1','2','3','4','5')

#视频面上的文字
spwz='【'+ssdm+'】'+'\n'+dpdz+'\n'+yhtj+'\n'+yhnr+'\n'+lqts
#输入的标签
bqwz=spwz+'\n'+'#好店推荐 #网红美食打卡 #附近美食 #优惠活动 #本地美食 #吃货 #团购优惠 #团购 #优惠 #吃喝玩乐 #美食 #美食团购 #美食优惠 #美食探店 #美食推荐 #地方特色美食 #探店 #吃喝玩乐'
if islt=='tw':
    bqwz=bqwz+'#抖音图文来了'


#------------上面的部分信息需要根据具体情况编辑的---------

#录屏和发布视频是两个相对独立的脚本的,但是都加了判断的,都是一键启动的,只是在相应的页面就可以一键启动了,录屏是判断是否存在有“立即购买”的那个按钮,有就会启动录屏
#开始录屏
if d.exists(text="立即购买"):
#下拉找到录屏按钮,下面两个坐标是我以小米手机来设定的,可以根据自己的手机自行设定
    d.swipe_points([(0.492, 0.016), (0.492, 0.76)])
    time.sleep(3)
    d.xpath('//*[@resource-id="com.android.systemui:id/quick_qs_panel"]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]').click()
    #读取录屏秒数,当录屏秒数大于7秒的时候,就录屏结束
    lpms=d(resourceId="com.miui.screenrecorder:id/recorder_timer").get_text()
    while int(lpms[3:5])<7:
        d.swipe_points([(0.678, 0.719), (0.678, 0.202)],lpkm)
        lpms=d(resourceId="com.miui.screenrecorder:id/recorder_timer").get_text()

#要点击两次才能结束录屏的,因为小米手机录屏的时候,录屏的那个按钮是半透明的,第一次是让它显示出来,第二次点击才结束录屏
    d(resourceId="com.miui.screenrecorder:id/screen_record_switch").click()
    d(resourceId="com.miui.screenrecorder:id/screen_record_switch").click()


#录屏和发布视频是两个相对独立的脚本的,但是都加了判断的,都是一键启动的,只是在相应的页面就可以一键启动了,发布视频是判断是否有发布视频的那个“+”号,有就可以发布视频
#开始发布视频
if d.exists(resourceId='com.ss.android.ugc.aweme:id/content_layout'):
    #点击发布视频的+号(正中间的加号)
    d.xpath('//*[@resource-   id="com.ss.android.ugc.aweme:id/root_view"]/android.widget.FrameLayout[3]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]').click()
	d(resourceId="com.ss.android.ugc.aweme:id/f9w").wait(timeout=15.0)
    time.sleep(1)
    #点击选择相册
    d(resourceId="com.ss.android.ugc.aweme:id/f9w").click()
    
    
    #等待判断是否已经加载到相册图片和视频页面了
    d.xpath('//*[@resource-   id="com.ss.android.ugc.aweme:id/egy"]/android.widget.FrameLayout[1]').wait(timeout=15.0)
    time.sleep(2)
    
    #判断是录屏还是图文,这里是录屏,只点击某一个视频
    if islt=='lp' :

        #如果有下一步的话,是多选,可能要多点一个操作,所以先去掉
        if d.exists(resourceId="com.ss.android.ugc.aweme:id/lzg",text='下一步'):
            d(resourceId="com.ss.android.ugc.aweme:id/checkbox").click()
            time.sleep(1.5)

        #点击相册照片里的某一个视频,默认是第一个,这里有个参数(spsx)是在上面设定好的
        d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/egy"]/android.widget.FrameLayout['+spsx+']').click()
        
    elif islt=='tw' :
        #如果没有下一步的话,就要勾选多选按钮
        if not d.exists(resourceId="com.ss.android.ugc.aweme:id/lzg",text='下一步'):
            d(resourceId="com.ss.android.ugc.aweme:id/checkbox").click()
            time.sleep(1.5)

        #图文的话,先勾选多选按钮,然后按上面给到的图文的顺序选图片
        d(resourceId="com.ss.android.ugc.aweme:id/checkbox").click()
        
        #按上面设定好的选择图片顺序进行依次选择图片
        for tw in twsx:
            d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/egy"]/android.widget.FrameLayout['+tw+']/android.widget.FrameLayout[1]').click()
    else:
        print('判断是录屏还是图文的时候出错了!')

    #用下一步的按钮来判断是否到了编辑文字那一步
    d(resourceId="com.ss.android.ugc.aweme:id/ien").wait(timeout=20.0)
    time.sleep(2)

    #点击文字按钮,进行编辑文字
    d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/dxw"]/android.widget.LinearLayout[4]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]').click()
    
    #判断是否出现了文字编辑的编辑框
    d(resourceId="com.ss.android.ugc.aweme:id/dg9").wait(timeout=15.0)
    time.sleep(2)
    #视频输入文字
    d(resourceId="com.ss.android.ugc.aweme:id/dg9").set_text(spwz)
    time.sleep(2)
    
    #这里是选择文字的字体,我喜欢经典型的,所以就选经典的
    while not d(text="经典"):
         d.swipe_points([(0.76, 0.513), (0.46, 0.513)])
    d(resourceId="com.ss.android.ugc.aweme:id/mma", text="经典").click()
    time.sleep(1.5)
    
    #编辑文字的外边框
    d(resourceId="com.ss.android.ugc.aweme:id/k3=").click()
    time.sleep(1.5)
    #编辑文字的颜色
    d(resourceId="com.ss.android.ugc.aweme:id/fo8").click()
    time.sleep(1.5)
    d(description="橙色").click()
    
    time.sleep(2.5)
    #点击文字编辑完成按钮
    d(resourceId="com.ss.android.ugc.aweme:id/lzb").click()
    
    time.sleep(2.5)
    #拖拽文字上去一点,具体到什么位置,自行设定,因为手机的型号尺寸可能不太一样
    d.drag(0.485, 0.704,0.485, 0.547,0.1)
    
    time.sleep(2.5)
    #选择音乐
    d(resourceId="com.ss.android.ugc.aweme:id/m81").click()
    time.sleep(2.5)
    d(text="发现").wait(timeout=15.0)
    #点击发现按钮
    d(text="发现").click()
    
    d(text="查看全部").wait(timeout=15.0)
    d.swipe_ext("up", scale=0.9)
    
    time.sleep(2)
    d(text="热歌榜").click()
    
    d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/kgy"]/android.view.ViewGroup['+djsgq+']/android.widget.RelativeLayout[1]').wait(timeout=15)
    #点击第一首歌曲
    d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/kgy"]/android.view.ViewGroup['+djsgq+']/android.widget.RelativeLayout[1]').click()
    
    time.sleep(1)
    #点击使用
    d(resourceId="com.ss.android.ugc.aweme:id/n8k").click()
    
    time.sleep(2.5)
    #随便点击一个地方,让那个音乐的弹框消失,可以自行设定
    d.click(0.6, 0.248)
    
    time.sleep(2.5)
    #点击下一步
    d(resourceId="com.ss.android.ugc.aweme:id/ien").click()
    
    #编辑文本框的文字,优惠信息和设置的标签填写
    d(resourceId="com.ss.android.ugc.aweme:id/c-b").wait(timeout=15.0)
    d(resourceId="com.ss.android.ugc.aweme:id/c-b").set_text(bqwz)
    
    time.sleep(2.5)
    #点击编辑完成按钮
    d(resourceId="com.ss.android.ugc.aweme:id/cyc").click()
    
    time.sleep(2)
    #点击添加门店推广
    d(resourceId="com.ss.android.ugc.aweme:id/jez").click()
    #切换门店推广
    d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/i=z"]/android.widget.LinearLayout[1]/X.027[2]/android.widget.RelativeLayout[1]').wait(timeout=15.0)
    d.xpath('//*[@resource-id="com.ss.android.ugc.aweme:id/i=z"]/android.widget.LinearLayout[1]/X.027[2]/android.widget.RelativeLayout[1]').click()
    
    time.sleep(2)
    #输入要搜索的门店,因为搜索出来的门店可能是比较多的,所以要自行选择推广的那个
    d(resourceId="com.ss.android.ugc.aweme:id/i=q").set_text(ssdm)
#脚本编写by波波

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值