天天看點

app小程式手機端Python爬蟲實戰06UiSelector文本、className定位方式

作者:虛壞叔叔

早餐店不會開到晚上,想吃的人早就來了!😄

UiSelector文本、className定位方式

app小程式手機端Python爬蟲實戰06UiSelector文本、className定位方式

一、文本定位方式

文本定位方式,有以下四種方式

1.1 文本定位api

1.1.1 Text文本定位方式

  • text 全文本比對
  • textContains 文本包含
  • textMatches 正規表達式
  • testStartsWith 起始文本

1.1.2 description文本選取方式

  • description全文本比對
  • descriptionContains 文本包含
  • descriptionMatches 正規表達式
  • descriptionStartsWith 起始文本

1.2 執行個體示範

通過打開考研幫app,點選密碼登入。

app小程式手機端Python爬蟲實戰06UiSelector文本、className定位方式

1.3 如何擷取“考研幫app”功能的包的名稱

app打開設定功能後,在weditor中可以看到:

com.tal.kaoyan      
app小程式手機端Python爬蟲實戰06UiSelector文本、className定位方式

1.3.1 文本執行個體代碼

# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# 全文本比對
d(text="密碼登入").click()
# 文本包含
d(textContains="密碼").click()
# 正規表達式
d(textMatches="密碼.{2}").click()
# 起始文本
d(testStartsWith ="密碼登").click()      

二、className定位方式

2.1 className選取方式

  • className 完整比對
  • classNameMatches 正規表達式比對

2.2 執行個體示範

通過搜尋找到textView位于第二個FrameLayout的第6個位置,是以索引值為5,就能夠定位到這個控件

app小程式手機端Python爬蟲實戰06UiSelector文本、className定位方式

2.2.1 通過完整比對

# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
d(className="android.widget.TextView")[5].click()      

這裡也可以換一種表達方式:

# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
#d(className="android.widget.TextView")[5].click()
# 通過instance定位
d(className="android.widget.TextView", instance=5).click()      

2.2.2 正規表達式比對

# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
d(classNameMatches="android\.widget\.TextView", text="密碼登入").click()      

三、總結

  • 本文介紹了Uiautomator2UiSelector文本、className定位方式。

繼續閱讀