背景:在做淘金币能量任务时,根据文本去点击任务,如果没有代码去判断任务是否已经完成,那么程序就会反复的点击已完成的任务,造成程序限入死循环。于是我就需要判断下该任务是否已完成,具体的就是
我要判断每个任务后的按钮是不是已完成。这就需要用到xpath的查找了,经过一会的研究,发现如下的写法可以找到这个按钮。
def test_dir():
enter_the_evnt_page() # 进入做任务赚金币的页面
a =driver.find_element_by_xpath("//*[@text='浏览10s 立得']/../../android.widget.Button")
print(a.text)
print(a)
test_dir()
输出结果:
已完成
<appium.webdriver.webelement.WebElement (session="45fc8d86-6c1f-4282-97dd-e21e7c0f6cc6", element="dfb04f87-cd04-450d-a8fa-2040b3d95e51")>
说明成功的通过“浏览10s 立得” 这个文本找到了他的父节点的父节点的子节点。
今天学到的:
- xpath的末尾不能加/,不然会报错。
- …表示父节点
- android.widget.Button为class属性,直接在父节点下写class 属性就是找当前节点下的有该属性的元素。