BillBie

导航

appium 解锁九宫格

九宫格一般为一个控件

所以我们定位到该图像,根据该element的

location 和size  计算每个位置的坐标(x,y)

然后通过    TouchAction 方法中的 方法 达到 滑动的效果

 

代码如下:

    from appium.webdriver.common.touch_action import TouchAction
    a=driver.find_element_by_id('com.tencent.mm:id/cm_')
    print(a.location)
    print(a.size)
    bt1=[a.location['x']+a.size['width']/6,a.location['y']+a.size['height']/6]
    bt2 = [a.location['x'] + a.size['width'] / 2, a.location['y'] + a.size['height'] / 6]
    bt3 = [a.location['x'] + a.size['width'] / 6*5, a.location['y'] + a.size['height'] / 6]

    bt4 = [a.location['x'] + a.size['width'] / 6, a.location['y'] + a.size['height'] / 2]
    bt5 = [a.location['x'] + a.size['width'] / 2, a.location['y'] + a.size['height'] / 2]
    bt6 = [a.location['x'] + a.size['width'] / 6 * 5, a.location['y'] + a.size['height'] / 2]

    bt7 = [a.location['x'] + a.size['width'] / 6, a.location['y'] + a.size['height'] / 6*5]
    bt8 = [a.location['x'] + a.size['width'] / 2, a.location['y'] + a.size['height'] / 6*5]
    bt9 = [a.location['x'] + a.size['width'] / 6 * 5, a.location['y'] + a.size['height'] / 6*5]

    TouchAction(driver).press(x=bt1[0],y=bt1[1]).wait(300).move_to(x=bt5[0],y=bt5[1]).wait(300).move_to(x=bt8[0],y=bt8[1]).wait(300).\
        move_to(x=bt9[0],y=bt9[1]).wait(300).release().perform()

 

posted on 2019-10-21 17:08  BillBie  阅读(5)  评论(0编辑  收藏  举报