python+appium 实现抖音自动化浏览

所需环境

python 这里我用的是3.8

appium 所需要的环境配置:
jdk1.8.0
android sdk

模拟器:夜神模拟器

环境配置

 这里就不详说环境了

请参考http://t.csdn.cn/2An6x

 1,打开夜神模拟器并启动appium 并在模拟器安装好抖音

python+appium 实现抖音自动化浏览_第1张图片

启动appium

python+appium 实现抖音自动化浏览_第2张图片

代码模块

1.导入需要使用的包

2,连接手机需要的配置,定义一个初始化方法

python+appium 实现抖音自动化浏览_第3张图片

3.打开模拟器抖音利用sdk里的UI Automator来查找需要定位的元素

python+appium 实现抖音自动化浏览_第4张图片

找到搜索框元素

python+appium 实现抖音自动化浏览_第5张图片

 python+appium 实现抖音自动化浏览_第6张图片

 以及搜索按钮元素

python+appium 实现抖音自动化浏览_第7张图片

代码

 

python+appium 实现抖音自动化浏览_第8张图片

点击进入视频后开始滑动函数

python+appium 实现抖音自动化浏览_第9张图片

运行代码输入参数并传入代码

python+appium 实现抖音自动化浏览_第10张图片

 

 运行结果

python+appium 实现抖音自动化浏览_第11张图片

 手机运行结果就不截图了

以下是代码

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.appiumby import By
import time


class run():

    def __init__(self, i, b):
        self.i = i
        self.b = b

        # 链接移动设备必须的参数
        desired_caps = {}

        # 当前要测试的设备名称
        desired_caps["deviceName"] = "127.0.0.1:62001"

        # 系统
        desired_caps["platformName"] = "Android"

        # 系统的版本
        desired_caps["platformVersion"] = "7.1"

        # 要启动的app的名称(包名)
        desired_caps["appPackage"] = "com.android.launcher3"

        # 要启动app的那个界面
        desired_caps["appActivity"] = ".launcher3.Launcher"

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

    def __del__(self):
        print("完成,再见")

    # 滑动页面使可以找到其它元素
    def dianji(self):
        time.sleep(2)
        # 点击桌面抖音
        self.driver.find_element(By.XPATH, '//*[@text = "抖音"]').click()
        # 等待2秒打开时间
        time.sleep(3)

        action = TouchAction(self.driver)
        action.tap(x=200, y=550, count=1)
        action.perform()

        self.b = b
        # 点击搜索元素
        self.driver.find_element(By.XPATH, '//*[@resource-id = "com.ss.android.ugc.aweme:id/c0="]').click()
        time.sleep(1)
        # 点击输入框,并输入文字
        self.driver.find_element(By.XPATH, '//*[@resource-id = "com.ss.android.ugc.aweme:id/et_search_kw"]').send_keys(b)
        time.sleep(1)
        # 输入成功后点击搜索
        self.driver.find_element(By.XPATH, '//*[@resource-id = "com.ss.android.ugc.aweme:id/k4g"]').click()
        time.sleep(2)


        action.tap(x=200, y=550, count=1)
        action.perform()
        self.huadon()

    def huadon(self):
        self.i = i
        a = 0
        while i > a:
            a += 1
            print(f"运行次数{a}")

            time.sleep(3)
            action = TouchAction(self.driver)
            action.press(x=240, y=630).wait(200).move_to(x=266, y=200).release()
            action.perform()
            time.sleep(2)
            action.tap(x=505, y=616, count=1).perform()


    # # 关闭app
    # def guanbi(self):
    #     self.driver.close_app()
    # 
    #     time.sleep(2)
    #     self.driver.quit()

    def main(self):
        print("正在运行,请稍等....")
        self.dianji()


if __name__ == '__main__':
    i = eval(input("输入刷视频次数:"))
    b = input("输入要看的视频:")
    a = run(i, b)
    a.main()

仅供参考 

 

 

 

 

 

 

你可能感兴趣的:(自动化,python)