python uiautomator2 常用操作

uiautomator2 安裝

python uiautomator2 安裝及使用-CSDN博客

一, 通過包名可以打開app?

d.app_start('com.gacne.www')

打開app運行后執行代碼,查看app具體信息獲取包名

d.info

二,執行等待點擊

# 160秒內等待xpath定位的出現執行點擊

d.xpath('//*[@text="此地"]').wait(160).click()?

三,屏幕截圖

png_path = './images/'+str(i)+'.png'
d.screenshot(png_path)?

四,獲取文本內容

#第一種
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').info.get('text')
#第二種
d.xpath('//*[@resource-id="cache-content"]/android.view.View[3]/android.widget.TextView[2]').get_text()

五,定位元素

(3)ResourceId定位

d(resourceId="com.addcn.android.house591:id/ad_banner").click()

(4)Text定位

d(text="精選").click()

(5)Description定位

d(description="..").click()

(6)ClassName定位

d(className="android.widget.TextView").click()

(7)xpath定位

d.xpath("//*[@content-desc='分享']").click()

六,通過父級定位元素

d(resourceId="com.ss.android.ugc.aweme:id/a0b").child(className="android.widget.FrameLayout")

?選擇父級下的一個元素

d(className="androidx.recyclerview.widget.RecyclerView").child(className="android.widget.FrameLayout")[0].get_text()

child_by_text 定位子元素

#定位父級下text為'xxx',class為'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素

d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_text('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")  

child_by_description?

#定位父級下description?為'xxx',class為'com.lynx.tasm.behavior.ui.text.FlattenUIText'的元素

re = d(resourceId="com.ss.android.ugc.aweme:id/a0b").child_by_description('xxx',className="com.lynx.tasm.behavior.ui.text.FlattenUIText")

?siblings

#定位text為'xxx',class為'com.lynx.tasm.behavior.ui.view.UIView'的兄弟元素

d(text="zcdsczzx").sibling(text="xxx",className="com.lynx.tasm.behavior.ui.view.UIView")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17985.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17985.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17985.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql中單表查詢的成本

大家好。我們知道MySQL在執行一個查詢時,經常會有多個執行方案,然后從中選取成本最低或者說代價最低的方案去真正的執行查詢。今天我們來聊一聊單表查詢的成本。 那么到底什么是成本呢?這里我們說的成本或者代價是由兩方面組成的&#xff1a…

【踩坑】編譯opencv將python (for build) python2.7改為python3

轉載請注明出處:小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你,歡迎[點贊、收藏、關注]哦~ 出現問題 默認是2.7 解決方案 cmake時候添加: -D PYTHON_DEFAULT_EXECUTABLE$(which python3)

詳盡的Ubuntu 24.04 LTS安裝指南

Ubuntu安裝過程涉及多個步驟,下面是一個詳盡的Ubuntu 24.04 LTS安裝指南 ### 一、準備工作 **1. 系統要求** * **CPU**:至少2GHz雙核處理器。 * **內存**:推薦4GB或以上。 * **硬盤**:建議至少預留25GB可用空間。 * **U盤**&am…

02 Prometheus入門安裝教程

02 Prometheus入門安裝教程 大家好,我是秋意零。今天分享一篇入門級Prometheus安裝教程。 環境準備 三臺Linux虛擬機(一臺也可以) 準備Prometheus、相關組件安裝包 Prometheus官網下載安裝包比較慢,如果沒有魔法。可關注公眾號…

【UnityUI程序框架】The PureMVC Framework核心你會用嗎

👨?💻個人主頁:元宇宙-秩沅 👨?💻 hallo 歡迎 點贊👍 收藏? 留言📝 加關注?! 👨?💻 本文由 秩沅 原創 👨?💻 收錄于專欄:Uni…

Python | Leetcode Python題解之第105題從前序與中序遍歷序列構造二叉樹

題目: 題解: class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:if not preorder:return Noneroot TreeNode(preorder[0])stack [root]inorderIndex 0for i in range(1, len(preorder)):preorderVal pr…

rxjava BehaviorProcessor特性和使用說明

概念和說明 BehaviorProcessor 的定義 BehaviorProcessor 是 FlowableProcessor 的一個具體實現,它同時具備發布和訂閱的能力。它會保存最新的一個事件,并在新訂閱者訂閱時,立即將該事件發送給新訂閱者。 主要特性 緩存最新事件&#xff…

計算機畢業設計python+spark天氣預測 天氣可視化 天氣大數據 空氣質量檢測 空氣質量分析 氣象大數據 氣象分析 大數據畢業設計 大數據畢設

摘 要 近些年大數據人工智能等技術發展迅速,我國工業正努力從“制造”邁向“智造”實現新跨越。神經網絡(NeuronNetwork)是一種計算模型,通過大量數據的學習,來發現數據之間的模式和規律,模仿人腦神經元的工作方式。隨著算力的提…

音視頻集市應用融合平臺方案

音視頻應用即有深度又有廣度,如何讓一個平臺擁有更多功能更靈活的拓展能力,從單體模塊化,多插件到微服務都有大量的實踐。 筆者在實際開發過程也同樣面對這些紛繁復雜而又必須共容共通需求的挑戰。 在實戰開發了大量從服務端到設備端再到瀏覽…

vos3000外呼系統如何查詢授權信息和系統并發

要查詢VOS3000外呼系統的授權信息和系統并發情況,您可以按照以下步驟進行: 登錄系統管理界面: 使用管理員賬號登錄VOS3000外呼系統的管理界面。 查找系統信息: 尋找系統信息或授權管理的相關選項或標簽。 查詢授權信息&#xff…

五篇季度思想匯報

季度思想匯報一 尊敬的黨組織: 時光荏苒,轉眼間一個季度又過去了。在這一季度里,我經歷了許多,也有了不少的感悟和成長。 在工作中,我積極投入,努力提升自己的專業技能,面對各種任務和挑戰&am…

Linux:IPC - System V

Linux:IPC - System V 共享內存 shm創建共享內存shmgetshmctlftok 掛接共享內存shmatshmdt shm特性 消息隊列 msgmsggetmsgctlmsgsndmsgrcv 信號量 semSystem V 管理機制 System V IPC 是Linux系統中一種重要的進程間通信機制,它主要包括共享內存 shm&am…

物理內存與虛擬內存的區別

物理內存和虛擬內存是計算機系統中重要的概念,它們有著不同的特點和作用。 物理內存: 物理內存是計算機實際存在的內存,通常指的是RAM(隨機存取存儲器)。物理內存直接映射到計算機的物理地址空間,可以直接被…

? 傳知代碼 ? 高速公路車輛速度檢測軟件

💛前情提要💛 本文是傳知代碼平臺中的相關前沿知識與技術的分享~ 接下來我們即將進入一個全新的空間,對技術有一個全新的視角~ 本文所涉及所有資源均在傳知代碼平臺可獲取 以下的內容一定會讓你對AI 賦能時代有一個顛覆性的認識哦&#x…

【NumPy】全面解析NumPy的where函數:高效條件操作指南

🧑 博主簡介:阿里巴巴嵌入式技術專家,深耕嵌入式人工智能領域,具備多年的嵌入式硬件產品研發管理經驗。 📒 博客介紹:分享嵌入式開發領域的相關知識、經驗、思考和感悟,歡迎關注。提供嵌入式方向…

哈希沖突的常見解決方法【附C++代碼】

在C中,哈希表是一種常用的數據結構,用于實現快速的插入、刪除和查找操作。 哈希表的核心在于哈希函數,它將輸入的關鍵字轉換為一個數組索引。然而,不同的關鍵字可能映射到相同的索引,這種情況稱為哈希沖突。 有效地解…

走進全球LED顯示龍頭艾比森,深挖逆勢增長43%的數智化邏輯

在大環境不景氣的情況下,有一家智能制造企業在2023年營收40億,同比增長高達43%,海外營收增長約 46%,并且連續12年單品牌出口額第一。 這就是全球LED顯示龍頭艾比森。 5月9日,紛享銷客帶領近70位企業高管走進紛享銷客…

使用Nginx將服務器目錄、文件共享出來

1.配置映射路徑,加入映射目錄 location /abc/ { autoindex on; autoindex_localtime on; charset utf-8; alias /usr/mydir/; } 2.重載Nginx配置 nginx -s reload 3.訪問 http://XXX.XXX.XXX.XXX/abc/ 即可 注: 如果…

短視頻再度重逢:四川京之華錦信息技術公司

短視頻再度重逢 在數字化時代的浪潮中,短視頻以其獨特的魅力迅速崛起,成為現代人生活中不可或缺的一部分。而當我們談論起短視頻,我們不僅僅是在談論一種娛樂方式,更是在談論一種情感的載體,一種回憶的媒介。今天&…

PHP8.0 match函數

match 表達式是 PHP 8.0 引入的一個新的控制結構,它提供了一種簡潔且更強大的方式來進行條件匹配。與 switch 語句相比,match 表達式具有以下優勢: 返回值:match 是一個表達式,它會返回一個值。嚴格比較:m…