1、uiautomator2 ,python 腳本編寫,屏幕上有可視元素,通過 weditor 查看,UI 結(jié)構(gòu)層次混亂,顯示的是上一次的 UI 結(jié)構(gòu),但界面正常顯示,腳本無法獲取指定元素,求解
uiautomator2 ,python腳本編寫,屏幕上有可視元素,通過weditor查看,UI結(jié)構(gòu)層次混亂,顯示的是上一次的UI結(jié)構(gòu),但界面正常顯示,腳本無法獲取指定元素,求解
嘗試:
1、重啟手機(jī)
2、重啟python -m uiautomator2 init?
恢復(fù)一段時間,跑完一條用列,跑下一個用列時再次提示找不到元素UIObjectNotFoundError:-32002 Server error...,并且在前一條用列還可以獲取該元素。
分析:
頁面的切換,貌似會導(dǎo)致UI結(jié)構(gòu)層次混亂,從而導(dǎo)致元素選擇器獲取不到指定元素,剛看uiautomator2,不熟,求用過的人解惑下,元素就是個很簡單的按鈕"編輯"
這個問題我也遇到過,嘗試過兩種解決辦法,你們也可以試試:
1.修改:UIAutomatorServer中click_post_delay=2.0 # wait after each click
就是在點擊操后等上2秒,等待元素完全加載再進(jìn)行下面的操作。
2.按下返回,進(jìn)入上個界面,再進(jìn)入該界面。(不通過,因為有些界面跳轉(zhuǎn)邏輯并不支持A—>B,B—>A。)
2、uiautomator2運行過程中的錯誤處理:
1、錯誤描述:uiautomator2.JsonRpcError: -32001 Server error: java.lang.SecurityException
錯誤原因:uiautomator2.JsonRpcError:-32001服務(wù)器錯誤:java.lang.SecurityException <注入到另一個應(yīng)用程序需要INJECT_EVENTS權(quán)限>
解決辦法:手機(jī)端沒有開啟USB模擬點擊,開啟即可;
2、raise UiObjectNotFoundError({'code': -32002, 'method': 'wait'})