app繪製手勢密碼 、九宮格分解

什麼是九宮格?工具

便是咱們常見的手勢繪製。一共有9個點,讓咱們進行繪製手勢。咱們手動操做的時候,經過是按住第一個點,而後移動到最後一點,而後鬆開,就完成手勢的操做,那麼,若是要用自動化代碼,來讓其自動繪製手勢,應該要怎麼作呢?spa

分解九宮格圖(放在了一個元素裏面)3d

選一個經常使用的九宮格,爲了方便看到九宮格點與點之間的關係,用了工具將工具放大,並加了網格,能夠看到九宮格整個元素的寬、高,加上點與點之間的間隔,大體能夠將九宮格的寬、高分爲6份,知道之間的關係,就能夠大體定位點的位置(知道移動到點裏面的範圍,便可選中點,不是很是精確地定位操做);如:要移動到第一點,須要到箭頭1或者2的位置blog

下圖是九宮格的手勢(即通過了那些點)element

 

各個九宮格的位置自動化

  1. 首先要獲取九宮格的size ,size包含了寬和高

             jiu_size = driver.find_element_by_id("九宮格元素的定位").sizeio

            獲取九宮格的起始座標,再加上與九宮格的位置,im

             start= driver.find_element_by_id("九宮格元素的定位").locationdb

  1. 第一點的位置大概佔整個寬度的 1/6,第二點佔 3/6,第三點佔 5/6,都在同一行,高不變

             points[1] = (None, start["x"] + jiu_size["width"]*1/6, start["y"]+jiu_size["height"]*1/6)img

             points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*1/6)

             points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*1/6)

 

  1. 第四個點佔整個高度3/6,寬度不變,變的是高度

             points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*3/6)

             points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*5/6)

  1. 第6個點在第三行的第二點,最後一個點在第三行第一個點,變的是寬度

             points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*3/6)

             points[1] = (None, jiu_size["width"]*1/6, jiu_size["height"]*5/6)

相關文章
相關標籤/搜索