Appium在ios下獲取頁面元素的一種新思路
阿新 • • 發佈:2018-11-30
傳統思路
手機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檔案進行操作,速度很快,並且獲得的資料也很準確。也不會報錯。