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文件进行操作,速度很快,并且获得的数据也很准确。也不会报错。

   

 

 

 

 

 

posted on 2018-11-30 19:45  测试老王  阅读(2519)  评论(0编辑  收藏  举报

导航