能看的av_午夜黄色av_在线观看国产视频_天天爱综合_国产精品亚洲成在人线_日韩一

訂閱本欄目 RSS您所在的位置: 深山工作室 > python > 正文

Appium元素定位方式之android_uiautomator定位

2022/9/23 17:04:58 字體: 瀏覽 1265

1. android_uiautomator定位
  相當于使用 UiAutomator Api 去遞歸地搜索元素(Android 專屬),可以說android uiautomator是終極定位方式,有的時候一些元素不能夠很好的定位時,那么就需要采用android uiautomator去定位,他是一種非常強有力的定位方式,原理是通過android 自帶的android uiautomator的類庫去查找元素。appium對android 的uiautomator進行了封裝,該方法的參數(shù)為UiSelector類定位元素的表達式:new UiSelector().屬性('屬性值'),實例化一個UiSelector對象,然后通過實例接口調用。
  AndroidUIAutomator是一個強有力的元素定位方式,它是通過Android UIAutomator類庫去找元素,可以選擇resourceId、text、className、description作為傳入的字符串。

1.1 android_uiautomator之text文本定位語法
  1) 使用text文本定義
    loc_text = 'new UiSelector().text("登錄/注冊")'
   driver.find_element_by_android_uiautomator(loc_text).click()
  2) uiautomator text模糊定位
    文本比較長的時候,可以用textContains模糊匹配,通過text的部分信息就能夠進行定位,我們直接看代碼:
    loc_text = 'new UiSelector().textContains("登錄/注冊")'
   driver.find_element_by_android_uiautomator(loc_text).click()
   在上面的代碼中我們只是將.text()的方法變成了.textContains(),在方法中傳入模糊的數(shù)據就好。看到這里是否有人思考過一個問題,既然有類似的模糊尋找,那么有沒有像正則表達式一樣的查找呢?答案是肯定的,看我們下面的方法。

  3) textMatches 正則匹配查找
textMatches故名思義就是通過正則的來進行查找定位,也是通過text的屬性來進行正則匹配,我們直接看代碼:
   loc_text = 'new UiSelector().textMatches("^登錄/.*")'
   driver.find_element_by_android_uiautomator(loc_text).click()
  4) textStartsWith是以某個文本開頭來匹配
    new UiSelector().textStartsWith("以text文本開頭")
    loc_text = 'new UiSelector().textStartsWith("登錄")'
    driver.find_element_by_android_uiautomator(loc_text).click()

1.2 android_uiautomator之resourceId定位
resourceId定位和appium封裝好的id定位是一樣的,只是這里將寫法變成了uiautomator的寫法而已。

1) resourceId定位
    oc_id = 'new UiSelector().resourceId(" com.wm.dmall:id/net_image_view ")'
    driver.find_element_by_android_uiautomator(loc_id).click()
    通過上面的代碼和之前的代碼對比大家可能發(fā)現(xiàn)其實他們前面都是一樣的,只是在定位的時候發(fā)生了一些變化,text變換成了resourceId即可,也就是頁面對象屬性的信息進行變更了,其他方法都是一樣。
2) resourceIDMatches 定位
通過id進行正則匹配定位
    loc_id = 'new UiSelector().resourceIdMatches(".+net_image_view ")'
    driver.find_element_by_android_uiautomator(loc_id).click()
    1.3 android_uiautomator之className定位
    頁面上的class屬性一般不唯一,多半用在復數(shù)定位時候。比如通過class屬性定位'同意'這個按鈕下標就是1。

1) className定位
# className復數(shù)定位
loc_class = 'new UiSelector().className("android.widget.TextView")'
driver.find_elements_by_android_uiautomator(loc_class)[1].click()

20 uiautomator classNameMatches定位
通過className正則匹配進行定位:

loc_class = 'new UiSelector().classNameMatches (".*widget.TextView")'
driver.find_elements_by_android_uiautomator(loc_class)[1].click()
1.4 android_uiautomator之description定位


loc_id = 'new UiSelector().
description("多點")'
driver.find_element_by_android_uiautomator(loc_id).click()
1.5 android_uiautomator之組合定位

1)id與text屬性組合
id_text = 'resourceId("com.wm.dmall:id/funcTitle").text("待支付")'
driver.find_element_by_android_uiautomator(id_text).click()
2)class與text屬性組合
class_text = 'className("android.widget.TextView").text("待支付")'
driver.find_element_by_android_uiautomator(class_text).click()
3)父子關系定位
son = 'resourceId("com.wm.dmall:id/container").childSelector(text("我的"))'
driver.find_element_by_android_uiautomator(son).click()
4)兄弟定位fromParent
有時候父元素不好定位,但是跟他相鄰的兄弟元素很好定位,這時候就可以通過兄弟元素,找到同一父級元素下的子元素。

brother = 'resourceId("com.wm.dmall:id/nav_item_laber_tv").fromParent(text("我的"))'
driver.find_element_by_android_uiautomator(brother).click()

信息來源網址:https://www.cnblogs.com/dy99/p/14287543.html

相關閱讀
搜索引擎優(yōu)化八個基礎的知識
河南省中國青年旅行社文化路營業(yè)部
深山網吧留言板(激情穿越火線)v4.3
膠球清洗裝置
吉林省文化國際旅行社有限公司
另外的一種單項的選擇
山西出國服務網
縮寫精簡不必要的css定義代碼來實現(xiàn)控制網頁文件大小
共有0條關于《Appium元素定位方式之android_uiautomator定位》的評論
發(fā)表評論
正在加載評論......
返回頂部發(fā)表評論
呢 稱:
表 情:
內 容:
評論內容:不能超過 1000 字,需審核,請自覺遵守互聯(lián)網相關政策法規(guī)。
驗證碼: 驗證碼 
網友評論聲明,請自覺遵守互聯(lián)網相關政策法規(guī)。

您發(fā)布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
二、不得發(fā)布國家法律、法規(guī)明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發(fā)布內容擁有處置權。

更多信息>>欄目類別選擇
百度小程序開發(fā)
微信小程序開發(fā)
微信公眾號開發(fā)
uni-app
asp函數(shù)庫
ASP
DIV+CSS
HTML
python
更多>>同類信息
Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
windows7環(huán)境下安裝配置jdk
python對微信操作要用到這兩個庫wxpy與itchat
8種Python字符串拼接的方法,你知道幾種
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現(xiàn):無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機抽取信息
純asp根據當前日期計算出相應的星座
ASP技巧:讓Len,Left,Right函數(shù)識別中文
利用css制作簡易相冊
提交按鈕在自定時間內灰色不可用
CSS分頁符代碼01
長春海外旅游有限責任責任公司
主站蜘蛛池模板: 久久久久久久久一区二区三区 | 成人一区二区在线 | 男人的天堂在线视频 | 亚洲91| 中国黄色在线视频 | 亚洲视频一区二区 | 巴西性猛交xxxx免费看久久久 | 99亚洲精品 | 久久国产成人 | 亚洲国产精品一区 | 2019中文字幕视频 | 久久777 | 蜜桃在线视频 | 九九久久影视 | 亚洲精品久久久久国产 | 中文字幕欧美日韩 | 日本久久精品视频 | 91精品久久久久久久久 | 国产精品久久久久久久久久久免费看 | 国产精品免费一区二区三区四区 | 国产高清精品一区二区三区 | 中文在线一区二区 | 一区二区三区视频在线播放 | a毛片在线免费观看 | 亚洲精品在线成人 | 超级黄色一级片 | 成人在线视频免费观看 | 成人羞羞网站 | 国产欧美日韩一区二区三区 | 久草免费在线 | 九九视频在线 | 亚洲精品视频国产 | 爽死777影院 | 久久99精品久久久 | 男人天堂网站 | 可以免费看黄视频的网站 | 欧美视频在线一区 | 免费观看羞羞视频网站 | 日本特黄特色aaa大片免费 | 亚洲一区二区三区蜜桃 | 色吧欧美|