前言
最近學了Appium做自動化,於是我想能不能當作腳本來玩一下,於是先來個自動刷抖音吧。
環境准備
首先安裝和搭建appium環境
安裝Android SDK
配置好上面的環境變量
具體的步驟請自行百度或者查看我之前的文章
編碼
#第一次安裝軟件運行可能有彈窗,請在次運行即可。
#已經適配不同版本的安卓手機和分辨率
from appium import webdriver
import time
import os
vs = os.system('adb shell getprop ro.build.version.release') #獲取手機系統版本
dir_path = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(dir_path, 'douyinjisu.apk') #安裝包路徑
result = os.popen("adb shell pm list package") # 查看手機中已安裝的軟件包名
if "com.ss.android.ugc.aweme.lite" in result.read(): # 判斷此軟件包名是否在手機中
print("應用已安裝")
print('開始執行腳本>>>')
else:
print("應用未安裝,開始進行安裝>>>")
os.system(f'adb install {file_path}')
time.sleep(1)
caps = {}
caps["appPackage"] = "com.ss.android.ugc.aweme.lite" #包名
caps["appActivity"] = "com.ss.android.ugc.aweme.splash.SplashActivity" #啟動名
# caps['app'] = file_path
caps["platformName"] = "Android"
caps["deviceName"] = "Android Emulato" #設備名稱
caps["platformVersion"] = vs #安卓版本
caps["noReset"] = "True" #不初始化
number = input('輸入執行的次數:')
show_time = input('輸入視頻的觀看時間(單位秒):')
count = 0
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
get_h = driver.get_window_size()['height'] # 獲取屏幕分辨率
get_w = driver.get_window_size()['width']
# 自適應分辨率
start_h = get_h*0.75
end_h = get_h*0.2
now_w = get_w/2
for s in range(int(number)):
count += 1
time.sleep(int(show_time))
driver.swipe(now_w, start_h, now_w, end_h, 500) # 自動上滑
print(f'已執行次數>>>{count}次')
driver.quit()