一.tap方法
appium中模擬手指點擊方法,叫tap,有兩個參數,元素位置和點擊持續時間。一般語法是這樣的tap([(x1,y1),(x2,y2)],100), 我們通過手機百度中,利用tap方法來點擊攝像頭按鈕來舉例。
1.元素定位
記住上面的元素坐標,下面需要用到。
2.tap代碼實現
import os import time from appium import webdriver desired_caps ={ 'platformName': 'Android', 'platformVersion': '6.0.1', 'deviceName': 'KIW-AL10', 'noReset': True, 'appPackage': 'com.baidu.searchbox', 'appActivity': 'com.baidu.searchbox.SplashActivity', 'unicodeKeyboard': True, 'resetKeyboard': True } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#啟動app time.sleep(3) #app啟動后等待3秒,方便元素加載完成 #模擬手指點擊操作 driver.tap([(918,413),(1026,521)], 100)
解釋:上面tap方法中位置的元素點坐標是通過ui automator viewer獲取,持續時間100是指100毫秒。
2.相對坐標
手機坐標定位 ;打開手機自帶的開發者選項-指針位置打開,點擊屏幕可以得到該點的絕對坐標
相對坐標;手機得到的只是絕對坐標,如果換了一個手機屏幕大小不一樣,則定位不到,需要 用代碼實現
以下代碼實現
#點擊左上角退出訂單 x = driver.get_window_size()['width'] y = driver.get_window_size()['height'] print(driver.get_window_size()) #可以獲取當前手機屏幕大小 打印出為 1080,2244 a = 90/1080 #90,150為該點的手機屏幕坐標 b = 150/2244 driver.tap([(a*x, b*y)],2) #此為相對坐標