appium 第二個指令碼,定位頁面元素

2022-07-29 07:48:09 字數 1578 閱讀 7820

工具使用:

1、android-sdk的自帶工具---uiautomator工具

2、使用find_element_by_id尋找元素位置

1

from

2from

3 #from

selenium import webdriver;

4import time;

5#目前最新更新

67 #from8#,

9 pack_info=

1718 drive=webdriver.remote('

',pack_info);

1920 #drive=webdriver.remote('

',pack_info);

2122#23

24#休眠5s

25 time.sleep(5

);26

#點選對應的元素

2728

drive.find_element_by_id('包名:id/iv_download_img').click()----加這一句就行

29 print('

執行成功

')

產生了乙個問題:

解決方式嘗試1:開發者模式中,開啟允許模擬點選,完美解決

2、擴充套件-使用其他的定位元素的辦法

①、在uiautomator中獲取元素id(常用):.find_element_by_id('包名:id/iv_download_img').click()---->在uiautomator中的resource-id中直接複製即可

②、使用使用xpath獲取元素:

1)如果頁面中text是唯一的,那麼就通過text文字獲取(格式://*[@text='掃一掃',必須要有斜槓和乙個※號)(很少用):find_element_by_xpath("//*[@text='掃一掃']").click();------->根據tex尋找,也是在uiautomator中的元素text中直接複製即可

2)同上,也可以用uiautomator中的content-desc文字獲取,正常情況下,它的內容和text是一樣的,很多時候,它是空的,用法也是和text一樣find_element_by_xpath("//*[@content-desc='掃一掃']").click();

2)如果頁面中class是唯一的,那麼就通過class獲取(格式://classname,必須要有兩個斜槓)(很少用):drive.find_element_by_xpath('').click();----->這個執行無結果,無報錯,因為頁面中這個class不是唯一的,所以不知道應該要取哪乙個。

3)contains模糊匹配(類似模糊匹配,這個通常用於要定位一組的元素,而不是單個元素時,效率尤其突出)

4)層級定位--父定子位(很有用)

參考

iOS 顯示第二個頁面

1 選中專案,new file.選中view,next,create 會出現乙個 xib檔案 2 新建 view2controller.m和 view2controller.件,新增內容 import inte ce view2controller uiviewcontroller end impo...

第二個作業!

作業要求 從鍵盤輸入乙個四位正整數。首先分離出該正整數中的每一位數字,並按逆序顯示輸出各位數字 然後用分離出的每位數字組成乙個最大數和乙個最小數,並顯示輸出。例如,若輸入的四位正整數為3175。按逆序顯示輸出分離出的各位數字為5713 組成的最大數為7531,組成的最小數為1357。具體要求 1 輸...

第二個系統

在進入工作後,參與的第二系統,也剛好是乙個失敗的專案重新再設計的乙個專案。全程參與了設計討論和相關功能模組的實現。到最後證明,這個系統依舊是失敗的。事隔了1年多了,回頭看問題,希望能看明白它。首先,整個團隊太年輕了。不是剛畢業沒多久,就是工作了才一年。其次,需求的失控,不懂得拒絕 因為是進入工作不久...