Appium Python九宮格密碼解鎖

2021-09-24 05:08:14 字數 1289 閱讀 3993

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

**實現如下:

#需要匯入的

def getunlock():

#獲取九宮格的view

lock_pattern=driver.find_element_by_id('com.mymoney:id/lock_pattern_lpv')

#獲取九宮格的x,y座標

x=lock_pattern.location.get('x')

y=lock_pattern.location.get('y')

# 獲取view的寬度和高度

width=lock_pattern.size.get('width')

height=lock_pattern.size.get('height')

#偏移量

offset=width/6

#計算每個點的位置

p11=int(x+width/6),int(y+height/6)

p12=int(x+width/2),int(y+height/6)

p13=int(x+width-offset),int(y+height/6)

p21=int(x+width/6),int(y+height/2)

p22=int(x+width/2),int(y+height/2)

p23=int(x+width-offset),int(y+height/2)

p31=int(x+width/6),int(y+height-offset)

p32=int(x+width/2),int(y+height-offset)

p33=int(x+width-offset),int(y+height-offset)

#這裡需要兩次繪製手勢才能進行儲存

for i in range(2):

touchaction(driver).press(x=p11[0],y=p11[1]).wait(2000)\

.move_to(x=p12[0],y=p12[1]).wait(1000)\

.move_to(x=p13[0],y=p13[1]).wait(1000)\

.move_to(x=p23[0],y=p23[1]).wait(1000)\

.move_to(x=p33[0],y=p33[1]).wait(1000).release().perform()

九宮格布局

2009 08 25 15 15 27 九宮格是一種比較古老的設計,它最基本的表現其實就像是乙個三行三列的 其實它最初是在window的c s結構中用得比較多,比如我們經常看 到軟體中的乙個窗體,其實就是乙個九宮格的典型應用,因為窗體需要在八個方向拉伸,所以在c s軟體中大量採用這種技術來布局設計。...

九宮格問題

include include stl 雙端佇列容器 include include pos.h using namespace std ofstream fout sudoku.txt deque d int lay deque d int checkout pos p,int n int sud...

九宮格排布

在我們設定ui時,肯定會遇到設定九宮格的效果 如上圖所示,我們如何讓展示出來哪?首先我們會發現 每行的的 y 值是一樣的 行數決定 y 值 每列的的 x 值是一樣的 列數決定 x 值 綜上所述 我們只要知道每張的 行數 和 列數 那麼,它的座標自然就肯定了 我們怎樣確定 行數 和 列數那?我們發現 ...