我們可以借助Android SDK自的uiautomatorviewer查看元素,這就要求手機必須以USB的方式連接PC,我前面使用的是WIFI連接進行連接的。所以,openatx提供了另外一個工具weditor 來解決這個問題。 GitHub地址:https://github.com/openatx/weditor (1)、安裝:
cls.d.app_stop("com.addcn.android.house591")
cls.d(resourceId="com.addcn.android.house591:id/ad_banner").click()
d.xpath("//*[@content-desc='分享']").click()
d(text="Add new").count 或者 len(d(text="Add new")) 得知數目之后,我們可以通過索引去定位
也可以遍歷
for view in d(text="Add new"): view.info
import cv2 image = d.screenshot( format = ' opencv') cv2.imwrite( ' home.jpg '圖像)#獲取原始JPEG數據 imagebin = d.screenshot(格式= '原始') 打開( “ some.jpg ”, “ WB ”).WRITE(imagebin) 1、單擊
2、長按
# swipe from (sx, sy) to (ex, ey)d.swipe(sx, sy, ex, ey) # swipe from (sx, sy) to (ex, ey) with 10 stepsd.swipe(sx, sy, ex, ey, steps=10)
# drag from (sx, sy) to (ex, ey)d.drag(sx, sy, ex, ey) # drag from (sx, sy) to (ex, ey) with 10 stepsd.drag(sx, sy, ex, ey, steps=10)
(7)獲取對象信息和狀態 1、 d(text="Settings").exists #如果存在則為True,否則為假 or d.exists(text="Settings") # 進一步使用 d(text="Settings").exists(timeout=3) d(text="Settings").info 3、獲取/設置/清除可編輯字段的文本(例如,EditText小部件) d(text = “ Settings ”).get_text() # get widget text d(text = “ Settings ”).set_text(“ My text ... ”) #設置文本 d(text = “ Settings ”).clear_text( ) #清除文字、 (8)系統常用按鍵 # press home key d.press.home() # press back key d.press.back() # the normal way to press back key d.press("back")----親測可用 # press keycode 0x07('0') with META ALT(0x02) on d.press(0x07, 0x02)
六、使用經驗 python3 -m weditor |
|