针对浏览器中的信息流广告插入的位置做遍历验证,我需要通过 classname 来计算出一共多少条信息流插入一条广告,如下图:
driver.find_elements_by_id('com.moxiu.launcher:id/br_news_list')
假设该页面只有一个ListView控件:
ListView
listViewItems = driver.find_elements_by_xpath("//android.widget.ListView/android.widget.FrameLayout") ads = len(listViewItems)
@Anikikun 因为浏览器的页面时滑动的 ,不太好用 xpath,因为我要在滑动的过程中记录信息流的条数,直到找到该广告位置,现在的问题是 在截图的这一页 我只想取出广告以上的 信息流的条数,不想取出广告位置下面的广告条数,想到取出 framelayout 的 index 的值 ,根据 index 的值也就直到广告位置以上有几条信息流了,所以才有的这个发帖
#2 楼 @wufan0115 index 用来统计个数是不稳定的
@Anikikun 我昨天研究了下 index 这个在 webelement 属性下是取不出来的,就没用这种方案,我后来通过 xpath 将 ListView 控件下的所有控件都打印出来 通过 get_attribute('className') 可以把控件的名称都打印出来,然后通过计时器来统计 android.widget.FrameLayout 上面一共有几条 android.widget.LinearLayout ,总算是达到我想要的效果了 ··
get_attribute('className')
android.widget.FrameLayout
android.widget.LinearLayout