'''
通过UIAUTOMATOR的text属性定位到元素,并打印文本
'''
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
import time
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
caps = {}
caps["platformName"] = "Android"
caps["appium:platfformVersion"] = "11"
caps["appium:deviceName"] = "OFYDHUCIPN8PHEBI"
caps["appium:appPackage"] = "com.mymoney"
caps["appium:appActivity"] = "com.mymoney.biz.main.v12.MainActivityV12"
caps["appium:noReset"] = True
caps["appium:noSign"] = True
caps["appium:unicodeKeyboard"] = True
caps["appium:resetKeyboard"] = True
caps["appium:ensureWebviewsHavePages"] = True
caps["appium:nativeWebScreenshot"] = True
caps["appium:newCommandTimeout"] = 3600
caps["appium:connectHardwareKeyboard"] = True
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
#以上代码从Session Information复制,直接使用
#通过text属性实现元素定位
#text属性全匹配
add_trans_btn_1 = driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR,('text("记一笔")'))
#打印所有定位到元素的文本
print ("通过text属性定位到元素的文本为:",add_trans_btn_1.text)
#通过textContains实现元素定位
add_trans_btn_2 = driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR,('textContains("一笔")'))
#打印所有定位到元素的文本
print ("通过textContains定位到元素的文本为:",add_trans_btn_2.text)
#通过textStartsWith实现元素定位
add_trans_btn_3 = driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR,('textStartsWith("记一")'))
#打印所有定位到元素的文本
print ("通过textStartsWith定位元素的文本为:",add_trans_btn_3.text)
#通过textMatches实现元素定位
add_trans_btn_4 = driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR,('textMatches("记.+笔")'))
#打印所有定位到元素的文本
print ("通过textMatches定位元素的文本为:",add_trans_btn_4.text)
#退出
driver.quit()
APP自动化测试(6)-元素定位by_android_uiautomator_find_element_by_android_uiautomator-CSDN博客文章浏览阅读1.5k次,点赞3次,收藏12次。by_android_uiautomator常见元素,快速定位到我们要的元素_find_element_by_android_uiautomatorhttps://blog.csdn.net/wanglx1984/article/details/128910028