uiautomator xpath内如何添加变量
- 最近遇到一个问题 想根据text文案判断同级别子元素位置 然后进行click操作 且父元素的位置也是随机性的 经历了一天的失败琢磨出了一个方法
- 层级关系是
- 一级父元素路径:XCUIElementTypeCells
- 二级父元素路径:ViewGroup
- 子元素click路径:ImageView
- 子元素test路径:TextView
def clear_screen1(self,element):
data1 = str(element)
negative_feedback = self.negative_feedback.all()
lista = len(negative_feedback)
for i in range(lista):
b = i + 1
if self.d.xpath(
f'//*[@XCUIElementTypeTable/XCUIElementTypeCells"]/ViewGroup[{b}]/TextView').get_text() == str(data1):
logger.info('寻找element指定名称元素')
self.wait_time(3)
self.d.xpath(
f'//*[@XCUIElementTypeTable/XCUIElementTypeCell"]/ViewGroup[{b}]/ImageView[1]').click()
logger.info('点击'+str(data1))
self.wait_time(3)
break
else:
self.d.click(0.5, 0.8)
self.swipeByCount("up", 0.2, 1)
self.clear_screen1(element)
- f {b} 的方法可以把xpath内的字符串做成变量来改变
- get_text() == xx用来判断函数element内的字符文案是否匹配 然后来执行判断操作
- 这样我们调用函数的时候可以直接输入
self.clear_screen1(element = 'xxx')
- 文案判断当前页面所有按键位置来进行click操作了