android.widget.ListView/Python/uiautomator script

14 篇文章 0 订阅
4 篇文章 0 订阅

Get GUI through

android-sdk-linux/tools/bin/uiautomatorviewer 
 

Android uiautomator demo listview

 

 

Python script to automatic click to downlowd all item in android.widget.ListView

 

Refer to  https://github.com/xiaocong/uiautomator

 



def percent_to_int(string):
    if "%" in string:
        newint = int(string.strip("%")) 
        return newint
    else:
        return int(0)


def download_listview_oneitem():
    ##print('Stop all')
    ###d(resourceId="com.XXXXX:id/tv_stopAll").click()
    
  
    
    download_list=d(resourceId="com.XXXX:id/lv_download")
    print(download_list.info)
    currentIndex = 0 ;
    
    if d(resourceId="com.XXXXX:id/lv_download").child(index=currentIndex).exists :
        download_list=d(resourceId="com.XXXXX:id/lv_download") 
        first=d(resourceId="com.XXXXX:id/lv_download").child(index=currentIndex)        
        #print(first.info)
        
        number=first.child(resourceId="com.XXXXX:id/down_number")
        title=first.child(resourceId="com.XXXXX:id/down_title").text
        print(title+ " percent now is "+number.text)   
        number_int=percent_to_int(number.text);        
        if number_int<100 :
            if first.child(text='已经暂停',resourceId="com.XXXXX:id/down_status").exists :             
                print("Download now :"+title)
                first.click()                
                d.watcher("Auto_Close_Download_Error").when(text="错误").click(text="确定");                
                d.watchers.run()
                time.sleep(1)
                #first.child(resourceId="com.XXXXX:id/down_progress").wait.gone(timeout=60000)
                first.child(text='正在缓存',resourceId="com.XXXXX:id/down_status").wait.gone(timeout=60000)
                
            else :
                print("Wait for  :"+title)
        else :   ### !!! Error item
            if first.child(text='正在缓存',resourceId="com.XXXXX:id/down_status").exists :
                print("!!! Error, exceed 100, Stop Download now! " + title)
                first.click()
                return
            else :
                print("!!! A dead item , skip this, Error, exceed 100 " + title)
                return
         
    print('Done!')        

            

try:
    while (1) :
        download_huaqing_oneitem()
except Exception, e:
    print u"Download fails\n", e


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# -*- coding: UTF-8 -*- from lib2to3.pgen2 import driver from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="通讯录") el1.click() el2 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.ListView/android.widget.FrameLayout[3]/android.widget.RelativeLayout") el2.click() el3 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.widget.TextView") el3.click() el4 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[8]") el4.click() el5 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[11]") el5.click()
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值