背景:在做淘金币能量任务时,根据文本去点击任务,如果没有代码去判断任务是否已经完成,那么程序就会反复的点击已完成的任务,造成程序限入死循环。于是我就需要判断下该任务是否已完成,具体的就是
在这里插入图片描述
我要判断每个任务后的按钮是不是已完成。这就需要用到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 立得” 这个文本找到了他的父节点的父节点的子节点。

今天学到的:

  1. xpath的末尾不能加/,不然会报错。
  2. …表示父节点
  3. android.widget.Button为class属性,直接在父节点下写class 属性就是找当前节点下的有该属性的元素。
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐