1. 程式人生 > >Appium在ios下獲取頁面元素的一種新思路

Appium在ios下獲取頁面元素的一種新思路

傳統思路

手機app頁面(框內是要獲取的元素)

新的方法:

因為appium在ios中,通過driver.page_source屬性,能得到一個xml格式的全部元素。於是採用這種方法,得到了全部元素,適合查詢瀏覽等這類較少操作的頁面。

程式碼如下:

 

 

 

主要用到的方法如下:

匯入xml解析模組

1、import xml.etree.ElementTree as ET

 

生成xml檔案,並對xml檔案解析,得到根節點

2、

fp = open(xmlfile,'w')fp.write(driver.page_source)fp.close()

tree = ET.parse('test.xml')root = tree.getroot()

 

 

3、得到xml檔案中所有的XCUIElementTypeStaticText節點資料。

# for page_el in root.iter('XCUIElementTypeStaticText'):

#     print(page_el.attrib)

 

4、查詢感興趣的element的方法

    Element.Iter()方法

    Element.findall() 查詢當前element的孩子的屬於某個tag的element。

  Element.find() 查詢屬於某個tag的第一個element。

  Element.text 訪問element的文字內容。 

  Element.get()獲取element的屬性。

 

   下面程式碼就是通過迴圈獲取相關頁面元素並打印出來,因為是對xml檔案進行操作,速度很快,並且獲得的資料也很準確。也不會報錯。