Appium+python定位方式

來源:互聯網
上載者:User

標籤:格式   ued   xpath   edit   組合   arch   xxx   報錯   簡單   

介紹appium 幾種簡單的定位方式

1、id定位
格式:driver.find_element_by_id("這裡是resource-id")
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit")
2、name定位
如的定位,就可以通過name來定位
格式:driver.find_element_by_name("這裡是text")
driver.find_element_by_name("搭配新寵不能缺")
註:appium1.5以下老的版本是可以通過name定位的,新版本從1.5以後都不支援name定位了**
(如果text屬性為空白,那就不能通過name屬性定位了)
3、class定位
格式:driver.find_element_by_class_name("class屬性")
driver.find_element_by_class_name("android.widget.EditText")
(註:一般一個頁面上的class屬性不唯一,元素不唯一的話定位會報錯了)
4、accessibility_id定位就是通過UI Automator工具查看的content-desc屬性
(當然content-desc屬性為空白,就不能通過這個屬性定位了,這裡只是舉個例子)
看到content-desc屬性有值,就可以通過accessibility_id來定位了

格式:driver.find_element_by_accessibility_id(“content-desc的值”)

driver.find_element_by_accessibility_id(“xxx”)

(註:一般一個頁面上的class屬性不唯一,元素不唯一的話定位會報錯了)
除了上面的這幾個通過屬性定位的,複雜一點的還可以通過xpath和AndroidUiAutomator來定位

5、list定位,即列表定位。driver.find_elements_by_id("com.baidu.yuedu:id/tab_search")[0].click()。
說明:有些列表頁面頁面沒有id屬性,有class屬性,但class屬性不唯一。或者有id屬性,但是列表的id屬性都一樣。這個時候可以採用list定位,取id相同或class相同的,定位一組元素,再通過下標取出元素,便可定位到想取出的元素。
單數定位:find_element 為定位單數
複數定位:find_elements 為定位複數
例子:
searchs = driver.find_elements_by_id("com.baidu.yuedu:id/tab_search")
print(searchs) # 列印list
print(type(searchs))
該定位到為list類型
定位一組之後,如果要點擊該元素,那就先從list裡面通過下標索引取出元素對象,再click就可以了。下標索引是從0開始。
# list定位
driver.find_elements_by_id("com.baidu.yuedu:id/tab_search")[0].click()

6、xpath定位
appium 1.5版本後name定位方式無法使用,可使用xpath代替
appium中xpath文法://*[@text=‘頁面text文本‘]
例子:
driver.find_element_by_xpath("//*[@text=‘小說‘]").click()
若一個介面的text值不唯一呢?
xpath文法裡面*是代表匹配任意的值,在selenium裡面*是匹配任意標籤,appium裡的*是匹配任意class名稱,如果幾個文本的class屬性不一樣,就可以通過以下組合:

Appium+python定位方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.