Python自动化实现抖音自动刷视频
本文主要介绍了Python自动化实现抖音自动刷视频,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
-
环境准备
-
实现
环境准备
-
Python3.5以上
-
Appium Server服务器
-
Android SDK,需要用到adb服务
-
需要依赖Appium-Python-Client组件库
-
真机或者模拟器,推荐模拟器(真机一般安卓8版本以上了,appium对安卓8以上版本元素获取的兼容性不太好)
-
JDK8环境
实现
确保adb服务和appium服务及真机/模拟器正常打开,然后在真机/模拟器上将抖音打开。
确定需要的参数
参数基本上都是固定的,只需要确定抖音的包名和活动页即可。
adb shell dumpsys window | findstr mCurrentFocus获取到抖音的包名数据,最后代码里的参数:
desired_caps = {
"platformName": "Android", # 平台是安卓的
"deviceName": "127.0.0.1:62001", # 通过 adb devices命令获取
"appPackage": "com.ss.android.ugc.aweme", # 抖音包名
"appActivity": ".splash.SplashActivity", # 活动页
"platformVersion":"7.1" # 7.1.2
}
参数整完记得项目跑起来测试一下。
控制模拟器进入抖音后
我们需要去获取页面上的元素或坐标,来实现滑动视频等其他操作。
到我们的Android SDK的tools目录下使用uiautomatoviewer.bat取页面快照。
操作的过程其实相对简单,就是实现页面滑动即可;可能会遇到弹框、点击授权之类的,处理一下即可。然后还需要注意的就是元素的加载时间问题,尽量考虑好网络、设备等其他因素,将等待时间放长些。
# @creator by wlh
# @date 2023/3/15 19:43
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
desired_caps = {
"platformName": "Android",
"deviceName": "127.0.0.1:62001", # 通过 adb devices命令获取
"appPackage": "com.ss.android.ugc.aweme",
"appActivity": ".splash.SplashActivity",
"platformVersion": "7.1" # 7.1.2
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)
driver.implicitly_wait(20) # 等待弹框元素
driver.find_element(By.XPATH, "//*[@text='同意']").click()
driver.implicitly_wait(20) # 等待弹框元素
driver.find_element(By.XPATH, "//*[@text='允许']").click()
time.sleep(1.5)
size = driver.get_window_size()
width, height = size['width'], size['height'] # 获取屏幕宽高
action = TouchAction(driver)
for i in range(5):
# 实现滑动
action.press(x=width / 2, y=height / 3 * 2).wait(500).move_to(x=width / 2, y=height / 3).release()
action.perform()
try:
# 3s后 弹框元素不出现,直接跳过继续执行
WebDriverWait(driver, 3).until(ec.presence_of_element_located((By.XPATH, "//*[@text='允许']")))
driver.find_element(By.XPATH, "//*[@text='允许']").click()
except:
pass
time.sleep(5)
driver.close_app()
driver.quit()
到此这篇关于Python自动化实现抖音自动刷视频的文章就介绍到这了!
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!