隐藏

Python + Appium之元素定位总结

发布:2023/10/22 21:43:57作者:管理员 来源:本站 浏览次数:477

一、ID定位




uiautomatorviewer里面的:resource-id


driver.find_element(By.ID,"com.csks.businesses:id/tv_number").click()



二、利用index角标定位

复制代码


# 利用index角标定位


# 获取多个输入框

inputs = driver.find_elements(By.CLASS_NAME,"android.widget.EditText")


# 第一个输入框

inputs[0].send_keys("18602603xxx")

# 第二个输入框

inputs[1].send_keys("123123")


复制代码



三、class定位






# className定位(但是不准)

   driver.find_element(By.CLASS_NAME,"android.widget.TextView").send_keys("18602603XXX")



四、XPATH定位


①text定位


# Xpath,利用text定位

driver.find_element(By.XPATH,"//*[@text='DD20200422000001']").click()


②组合定位(text与id)


# Xpath,利用组合定位


driver.find_element(By.XPATH,"//*[@text='请输入密码' and @resource-id='com.csks.businesses:id/edt_password']").send_keys("123123")





五、坐标定位






# 点击页面的坐标

driver.tap([(274, 271), (650, 319)], 500)



六、寻找元素,并点击元素

复制代码


def swipeUp():

       '向上滑动'

       width = driver.get_window_size()['width']

       height = driver.get_window_size()['height']

       driver.swipe(1/2*width,4/5*height,1/2*width,1/5*height)




# 寻找元素,并点击

while 1<10:

   try:

       # 模糊定位

       driver.find_element(By.XPATH,"//*[contains(@text,'规格描述:276373')]").click()

       break

   except:

       print("未找到,继续上滑")

       swipeUp()


复制代码



七、模糊定位


# 模糊定位


driver.find_element(By.XPATH,"//*[contains(@text,'规格描述:276373')]").click()



八、定位Toast

复制代码


# 设置参数需要加上如下参数


capabilities.setCapability("automationName", "uiautomator2");




# 定位toast


toast = driver.find_element(By.XPATH,"//*[contains(@text,'供货数量不能为空')]").text


复制代码