標籤:comment imp splash 參考 utf-8 img code pack word
?# 前言:
有時候定位元素的時候,你使出了十八班武藝還是定位不到,怎麼辦呢?(面試經常會問)
那就拿出絕招:點元素所在位置的座標
tap用法
1.tap是類比手指點擊,一般頁面上元素
的文法有兩個參數,第一個是positions,是list類型最多五個點,duration是期間,單位毫秒
tap(self, positions, duration=None): Taps on an particular place with up to five fingers, holding for a certain time 類比手指點擊(最多五個手指),可設定按住時間長度(毫秒) :Args: - positions - list類型,裡面對象是元組,最多五個。如:[(100, 20), (100, 60)] - duration - 期間,單位毫秒,如:500 :Usage: driver.tap([(100, 20), (100, 60), (100, 100)], 500)
座標定位
1.如定位"去看看"這個按鈕的座標,可以看到右側bonds屬性:[374,831][654,906]
2.點右上方"搜尋"按鈕,查看bonds屬性:[615,52][690,146]
參考案例
# coding:utf-8from appium import webdriverfrom time import sleepdesired_caps = { ‘platformName‘: ‘Android‘, ‘deviceName‘: ‘127.0.0.1:62001‘, ‘platformVersion‘: ‘4.4.2‘, ‘appPackage‘: ‘com.baidu.yuedu‘, ‘appActivity‘: ‘com.baidu.yuedu.splash.SplashActivity‘ }driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)sleep(5)# 點彈出框去看看driver.tap([(374, 831), (654, 906)], 500)# 返回上一頁driver.back()sleep(2)# 點右上方搜素按鈕driver.tap([(615, 52), (690, 146)], 500)
弊端
通過座標定位是元素定位的下下下策,實在沒辦法才用這個,另外如果換了手機解析度,這個座標就不能寫死了,得算出所在螢幕的比例。
appium+python自動化26-類比手勢點擊座標(tap)【轉載】