appium+python:自己寫的一個滑動控件的方式


#調用方式
roll_ele("ID","ele_id","7","up",3)#將控件分為7格,從底部倒數第二格向上滑動3格
#滑動控件的方法
def
roll_ele(id,ele_id,size,direct,rollsize=1): """ 參數id為定位方式,eled_id為具體控件的id或xpath等,size為需要把該控件分成幾格,direct為滑動方向,up或down(上或下),rollsize為要滑動幾格,該參數取值范圍為(1,size-2) """ #以下是滑動該單據詳情數據---------------------------------------------------------------------------- ele_ = Element(id,ele_id) #Element為自己包裝的一個定位控件的類 start_loc = ele_.get_location_start() #獲取控件的起點坐標,get_location_start()為自己寫的的一個獲取控件的起點坐標和結束坐標的方法,appium直接為element.location,返回的類型為dict,{'x':520,'y':1230} size_ele = ele_.get_ele_size() #獲取控件的大小,get_ele_size()為自己寫的一個獲取控件大小的方法,appium直接為element.size,返回的類型為dict,如{'height':589,'width':270} #控件上方中心的坐標 ele_start = [] ele_start.append(float(start_loc['x'])+float(size_ele['width'])/2) ele_start.append(float(start_loc['y'])) #控件下方中心的坐標 ele_end = [] ele_end.append(float(start_loc['x'])+float(size_ele['width'])/2) ele_end.append(float(start_loc['y'])+float(size_ele['height'])) #控件列有size行,每次滑動1/size格,即size_ele['height']/size個長度 per_height = float(size_ele['height'])/size #每格的高度 #若為up,則滑動時,每次從倒數第二格坐標,滑動到上面rollsize格的坐標(因為直接從控件最底部滑動無法滑動,會失敗);其他則都向下滑動 if direct=='up':#swipe_to為自己包裝的driver.swipe()方法 swipe_to(ele_end[0],ele_end[1]-per_height,ele_end[0],ele_end[1]-per_height-rollsize*per_height,1000) else: swipe_to(ele_start[0],ele_start[1]+per_height,ele_start[0],ele_start[1]+per_height+rollsize*per_height,1000) time.sleep(1)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM