App自動化九宮格手勢解鎖,你get了嗎

2022-08-26 06:30:07 字數 1355 閱讀 9967

通過uiautomatorviewer工具截圖可以發現,整個九宮格其實是乙個元素,那如何在九宮格裡準確的繪製圖案呢?常用的元素定位方式肯定無法實現,經過分析,這裡可不可以獲取九宮格的寬高,計算出每個按壓點的座標,然後通過鏈式呼叫完成解鎖功能呢?事不宜遲,我們馬上試試:

首先定位到九宮格元素,

ele = driver.find_element_by_id('

jiugongge

')

獲取九宮格的起點座標和寬高,

x = ele.rect['x'

]y = ele.rect['y'

]width = ele.rect['

width']

height = ele.rect['

height

']

如圖下圖所示,我們將九宮格拆分成6*6的網格,並給每個按壓點編號:

然後使用上面的資料計算出每個按壓點的準確座標:

point1 = (x+width/6, y+height/6)

point2 = (x+width*3/6, y+height/6)

point3 = (x+width*5/6, y+height/6)

point4 = (x+width/6, y+height*3/6)

point5 = (x+width*3/6, y+height*3/6)

point6 = (x+width*5/6, y+height*3/6)

point7 = (x+width/6, y+height*5/6)

point8 = (x+width*3/6, y+height*5/6)

point9 = (x+width*5/6, y+height*5/6)

假設手勢是u型的,那麼依次滑過對應1478963的位置,**如下,

action =touchaction(driver)

action.press(*point1).wait(200).\

move_to(*point4).wait(200).\

move_to(*point7).wait(200).\

move_to(*point8).wait(200).\

move_to(*point9).wait(200).\

move_to(*point6).wait(200).\

move_to(*point3).wait(200).\

release().perform()

iOS 九宮格連線手勢解鎖

效果圖 核心 clockview.m 手勢解鎖 created by llkj on 2017 8 24.import clockview.h inte ce clockview 存放當前選中的按鈕 property nonatomic,strong nsmutablearray selectbtn...

Appium Python九宮格密碼解鎖

整體思路 獲取整個九宮格的view,然後計算出view的寬度和高度,從而計算出九宮格中每個點的座標位置,再通過touchaction driver press x,y move to x,y release perform 這個方法來繪製自己需要繪製的手勢密碼 實現如下 需要匯入的 def getu...

iOS 九宮格解鎖原始碼

專案原始碼 布局 北京是乙個imageview 中間是乙個view 連線自定義lockview 實現思路 1 新增9個button 2 監聽觸控事件 如果觸控點在button上則設定button的selected yes 3 把觸控過程中的button新增到集合 4 繪製線條 此view未做成功處理...