Python自动化实现抖音自动刷视频

本文主要介绍了Python自动化实现抖音自动刷视频,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  • 环境准备

  • 实现

环境准备

  • Python3.5以上

  • Appium Server服务器

  • Android SDK,需要用到adb服务

  • 需要依赖Appium-Python-Client组件库

  • 真机或者模拟器,推荐模拟器(真机一般安卓8版本以上了,appium对安卓8以上版本元素获取的兼容性不太好)

  • JDK8环境

实现

确保adb服务和appium服务及真机/模拟器正常打开,然后在真机/模拟器上将抖音打开。

确定需要的参数

参数基本上都是固定的,只需要确定抖音的包名和活动页即可。

adb shell dumpsys window | findstr mCurrentFocus获取到抖音的包名数据,最后代码里的参数:

  1. desired_caps = {

  2. "platformName": "Android", # 平台是安卓的

  3. "deviceName": "127.0.0.1:62001", # 通过 adb devices命令获取

  4. "appPackage": "com.ss.android.ugc.aweme", # 抖音包名

  5. "appActivity": ".splash.SplashActivity", # 活动页

  6. "platformVersion":"7.1" # 7.1.2

  7. }

参数整完记得项目跑起来测试一下。

控制模拟器进入抖音后

我们需要去获取页面上的元素或坐标,来实现滑动视频等其他操作。

到我们的Android SDK的tools目录下使用uiautomatoviewer.bat取页面快照。

操作的过程其实相对简单,就是实现页面滑动即可;可能会遇到弹框、点击授权之类的,处理一下即可。然后还需要注意的就是元素的加载时间问题,尽量考虑好网络、设备等其他因素,将等待时间放长些。

  1. # @creator by wlh

  2. # @date 2023/3/15 19:43

  3. import time

  4. from appium import webdriver

  5. from appium.webdriver.common.touch_action import TouchAction

  6. from selenium.webdriver.common.by import By

  7. from selenium.webdriver.support.wait import WebDriverWait

  8. from selenium.webdriver.support import expected_conditions as ec

  9. desired_caps = {

  10. "platformName": "Android",

  11. "deviceName": "127.0.0.1:62001", # 通过 adb devices命令获取

  12. "appPackage": "com.ss.android.ugc.aweme",

  13. "appActivity": ".splash.SplashActivity",

  14. "platformVersion": "7.1" # 7.1.2

  15. }

  16. driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)

  17. driver.implicitly_wait(20) # 等待弹框元素

  18. driver.find_element(By.XPATH, "//*[@text='同意']").click()

  19. driver.implicitly_wait(20) # 等待弹框元素

  20. driver.find_element(By.XPATH, "//*[@text='允许']").click()

  21. time.sleep(1.5)

  22. size = driver.get_window_size()

  23. width, height = size['width'], size['height'] # 获取屏幕宽高

  24. action = TouchAction(driver)

  25. for i in range(5):

  26. # 实现滑动

  27. action.press(x=width / 2, y=height / 3 * 2).wait(500).move_to(x=width / 2, y=height / 3).release()

  28. action.perform()

  29. try:

  30. # 3s后 弹框元素不出现,直接跳过继续执行

  31. WebDriverWait(driver, 3).until(ec.presence_of_element_located((By.XPATH, "//*[@text='允许']")))

  32. driver.find_element(By.XPATH, "//*[@text='允许']").click()

  33. except:

  34. pass

  35. time.sleep(5)

  36. driver.close_app()

  37. driver.quit()

到此这篇关于Python自动化实现抖音自动刷视频的文章就介绍到这了!

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值